Multiple Forms on page

  • Thread starter Thread starter Yehia A.Salam
  • Start date Start date
Y

Yehia A.Salam

hello,

I have to deal with the weird limitation of asp.net, as I need to have
multiple forms on my page, well three at least actually, one for the login,
one for the search engine, and another one for a certain bulletin list,
however asp.net allows only one form per page with runat="server" attribute,
I am aware of the visibility issue and that I can hide all of the forms
except one but this won't help cause I need all of the three forms visible.

The solution I got so far was to enclose all the body of the page with a
form tag (<body><form runat...>), however it doesn't appear to be a rational
solution to me; why would I put all the elements of the page in a form tag.
What other workarounds could I use?

Thanks
Yehia A.Salam
 
hello,

I have to deal with the weird limitation of asp.net, as I need to have
multiple forms on my page, well three at least actually, one for the login,
one for the search engine, and another one for a certain bulletin list,
however asp.net allows only one form per page with runat="server" attribute,
I am aware of the visibility issue and that I can hide all of the forms
except one but this won't help cause I need all of the three forms visible.

The solution I got so far was to enclose all the body of the page with a
form tag (<body><form runat...>), however it doesn't appear to be a rational
solution to me; why would I put all the elements of the page in a form tag.
What other workarounds could I use?
Why look for a workaround to an artificial constraint? Use controls as
containers for the various piece parts instead of forms.

You may be in the situation where each of the existing forms use some
JavaScript. on the client-side to build query strings instead of
performing postbacks. If this is the case you may need to investigate
WriteClientScriptBlock and similar methods of the System.Web.UI.Page
type to write the scripts at run time. At the same time you will need
to use controls' ClientID (decorated name) rather than the ID
property.

regards
A.G.
 
THe "weird limitation" you describe isn't a limitation at all, it's a
feature. Controls in an ASP.NET page need to be wrapped inside a form because
the entire postback event model depends on this.
There is no reason why a postback generated by any of your controls all of
which are wrapped inside a single FORM tag cannot handle individual specific
actions that your business logic dictates.
Peter
 
In addition to the other answers, you can still use "normal" FORMs without
the runat tag. You can post them to an ASPX page and use the Request object
to read the values.
 
Back
Top