visual studio plantillas page net crear content bootstrap asp asp.net master-pages

asp.net - studio - una página solo puede tener una etiqueta de formulario del lado del servidor



master page asp.net plantillas (6)

Estoy usando la página maestra y cuando ejecuto esta página, muestra el siguiente mensaje de error:

una página solo puede tener una etiqueta de formulario del lado del servidor

¿Como puedó resolver esté problema?


¿Tu página contiene estos

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> </asp:content>

etiquetas, y son todos sus controles dentro de estos? Solo debe tener las etiquetas de formulario en MasterPage.

Éstos son algunos de mi comprensión y sugerencia:

El elemento html se puede colocar en el cuerpo de las páginas html y la página html admite múltiples elementos, sin embargo, no se pueden anidar entre sí, puede encontrar la descripción detallada de la especificación html de W3C:

El elemento FORM

http://www.w3.org/MarkUp/html3/forms.html

Y en cuanto a la página de formulario web de ASP.NET, se basa en un único elemento de formulario del lado del servidor que contiene todos los controles en su interior, por lo que generalmente no recomendamos que coloquemos varios elementos. Sin embargo, esto todavía se admite en la página ASP.NET (página maestra) y creo que el problema en su página maestra debe ser causado por el elemento anidado no admitido, y múltiples en el mismo nivel deberían estar bien. p.ej:

Además, si lo que quiere hacer a través de múltiples formularios es simplemente hacer que nuestra página publique en varias páginas, creo que puede considerar el uso de la nueva función para publicación de páginas cruzadas en ASP.NET 2.0. Esto puede ayudarnos a usar los controles de botones para devolver a diferentes páginas sin tener formularios de varias copias en la página:

Publicación de páginas cruzadas en páginas web ASP.NET

http://msdn2.microsoft.com/en-us/lib...39(VS.80).aspx

http://msdn2.microsoft.com/en-us/lib...40(VS.80).aspx


Creo que te gustó esto:

<asp:Content ID="Content2" ContentPlaceHolderID="MasterContent" runat="server"> <form id="form1" runat="server"> </form> </asp:Content>

La etiqueta de formulario no es necesaria. porque ya tienes la misma etiqueta en la página maestra.

Así que simplemente quita eso y debería estar funcionando.


En algún momento cuando renderice la página actual como se muestra en el siguiente código, se generará el mismo error

StringWriter str_wrt = new StringWriter(); HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt); Page.RenderControl(html_wrt); String HTML = str_wrt.ToString();

Entonces, ¿cómo podemos arreglarlo?


Parece que tiene una etiqueta de formulario en una página maestra y en la página que está generando el error.

Solo puedes tener uno.


Por favor, elimine "runat =" server "" de la etiqueta "form", entonces definitivamente funcionará.


Use solo una etiqueta de formulario del lado del servidor.

Verifique en su página maestra <form runat="server"> - solo debe haber uno.

¿Por qué necesitas más de uno?