We are trying to modify the Action attribute of the main ASP.NET form in the master page dynamically.
The page has a radio button, user selects one of the options and clicks on submit, on postback, based on the selection the Form's action attribute should be set and the form should be submitted again automatically.
We were trying to use JavaScript for the same.
document.forms[0].action = "option1.aspx";
document.forms[0].submit();
But this doesn't seem to be working, there is no impact on the action attribute.
if we don't use a master page, this can be achieved easily by using
this.Form.Action = "option1.aspx";
ClientScript.RegisterStartupScript(this.GetType(),"test1",
"document.form[0].submit();",true);
Sadly, we cant remove the master page .. any pointers on how can this be achieved.. ?
This is something which I have read they wish they had not done. The Form tag gets its action attribute hardcoded. You have to use a Control Adapter in order to control its construction at runtime. I use it especially for URL Rewriting, when I require the postback URL to be the rewritten one I have created. Scott Gu made the code for it and you can find it here:
http://www.scottgu.com/blogposts/urlrewrite/UrlRewrite_HttpModule1.zip
And the address for the article:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With