Sto usando la pagina master e quando ho eseguito questa pagina, si vede il seguente messaggio di errore:una pagina può avere un solo lato server tag form
una pagina può avere un solo tag form un server-side
Come posso risolvere questo problema?
Sto usando la pagina master e quando ho eseguito questa pagina, si vede il seguente messaggio di errore:una pagina può avere un solo lato server tag form
una pagina può avere un solo tag form un server-side
Come posso risolvere questo problema?
Utilizzare solo un tag modulo lato server.
Controlla la tua pagina master per <form runat="server">
- dovrebbe essercene solo una.
Perché ne hai bisogno più di uno?
questa pagina contiene solo contantplace holder ho creato una nuova pagina e l'esecuzione di questa pagina dopo che questo mostra errore. –
@Manoj Wadhwani: assicurarsi che entrambe le pagine abbiano un solo tag modulo sul lato server. – Oded
Sembra che tu abbia un tag form in una pagina master e nella pagina che sta generando l'errore.
Si può avere solo uno.
La tua pagina contiene questi
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server">
</asp:content>
tag, e sono tutti i controlli all'interno di queste? Dovresti avere solo i tag Form nella MasterPage.
Ecco alcuni dei miei comprensione e suggestione:
Html elemento può essere messo nel corpo di pagine html e la pagina HTML non di supporto più elementi, tuttavia essi non possono essere nidificate ogni altro , è possibile trovare la descrizione dettagliata dal W3C HTML specifica:
http://www.w3.org/MarkUp/html3/forms.html
E come per la pagina web form ASP.NET, che si basa su un elemento modulo lato server singolo, che contiene tutti i controlli al suo interno, così generalmente non consigliabile che abbiamo messo più elementi. Tuttavia, questo è ancora supportato nella pagina ASP.NET (pagina master) e penso che il problema nella pagina principale debba essere causato dall'elemento nidificato non supportato, e il multiplo nello stesso livello dovrebbe essere ok. per esempio:
Inoltre, se ciò che si vuole fare attraverso molteplici forme è solo rendere il nostro pagina di invio messaggi a più pagine, penso che si può considerare l'uso della nuova funzionalità di per il cross-posting pagina in ASP.NET 2.0. Questo può aiutarci a usare i pulsanti di controllo per postback su pagine diverse senza moduli multpile su nella pagina:
I tuoi link sono rotti. – Four
penso che hai fatto in questo modo:
<asp:Content ID="Content2" ContentPlaceHolderID="MasterContent" runat="server">
<form id="form1" runat="server">
</form>
</asp:Content>
Il tag form non è necessaria. perché hai già lo stesso tag nella pagina principale.
Quindi lo rimuovi e dovrebbe funzionare.
la tua pagina principale ha già un modulo. i moduli nidificati non sono consentiti –
Il modello buono è *** tag form *** in _Master_ o in _Nested contentPage_? – Kiquenet
volte durante il rendering della pagina corrente come mostrato nel codice seguente genererà lo stesso errore
StringWriter str_wrt = new StringWriter();
HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt);
Page.RenderControl(html_wrt);
String HTML = str_wrt.ToString();
così come possiamo risolvere la cosa?
Anche la tua pagina Master ha un tag Modulo.
Se si desidera eseguire più tag modulo, rimuovere l'attributo runat = "server" e utilizzare invece tag di input HTML semplici.
Il buono schema è *** tag form *** in _Master_ o in _Nested contentPage_? – Kiquenet
È una parte intrinseca dei moduli Web ASP.NET che è possibile utilizzare un solo tag del modulo lato server in una pagina sottoposta a rendering. Puoi avere altri moduli, semplicemente non possono avere l'attributo 'runat =" server "', IIRC. –
Rimuovere completamente i tag dalla masterpage – ahmed
@RussCam Il modello buono è *** tag form *** in _Master_ o in _Pagina di contenuto nidificata? – Kiquenet