How To Change Action Attribute Of The Aspnetform On Masterpage Dynamically
Solution 1:
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
Solution 2:
Does the form need to pass the values to the resulting page? If not, why don't you just use Response.Redirect to the correct page? For example, presuming you are using a RadioButtonList called lstOptions:
protectedvoidbtnSubmit_Click(object sender, EventArgs ags) {
switch (lstOptions.SelectedValue) {
case"option1":
Response.Redirect("~/option1.apsx");
break;
//etc
}
}
If you must pass the values why are you even triggering a post back at all? It sounds like you could accomplish what you want by just using javascript. For example presuming your form is named form1 and your radio buttons have a name of options:
<inputtype="submit"value="Submit"onclick="javascript:submitForm()" /><scripttype="text/javascript">functionsubmitForm() {
for (var i=0; i < document.form1.options.length; i++) {
if (document.form1.options[i].checked) {
document.forms[0].action = "option" + i + ".aspx";
document.forms[0].submit();
}
}
}
</script>
Post a Comment for "How To Change Action Attribute Of The Aspnetform On Masterpage Dynamically"