2009-08-28 17 views
5

Ich habe Master-Seite mit Formular (runat = "Server"). In verschachtelten Seiten habe ich jedoch zwei Formulare. Zuerst ist für das Ändern des Passwortes und zweitens ist für die Übermittlung von Benutzerdaten ... Beide müssen existieren, mit separaten Senden-Schaltflächen.Master-Seite und verschachtelte Formulare Ausgabe

Ich habe versucht, entsprechende Felder mit Formular-Tags zu umschließen, aber ich habe einen Fehler, dass geschlossene Formulare nicht erlaubt sind .... Wie kann ich mein Ziel erreichen?

Danke!

Antwort

4

ASP.NET unterstützt nur ein einzelnes Formular pro Seite (emuliert Desktopsitzungsformulare). Wahrscheinlich müssen Sie das Formular in der Masterseite belassen und 2 Click-Handler für die Schaltflächen auf der Inhaltsseite haben. Möglicherweise müssen Sie auch die ValidationGroup für Ihre Steuerelemente und Schaltflächen angeben, damit sie bei einigen Validatoren nicht stören.

0

Sie können nur ein < Form> -Tag in der ASPX-Seite haben. Wenn Sie die Masterseite verwenden, verfügt sie bereits über ein < Formular runat = "server"> -Tag. Sie können < Form> Tag nicht erneut in Ihren verschachtelten Seiten verwenden. Sie können Ihren Inhalt auf einer verschachtelten Seite in diesem Tag hinzufügen. < asp: Content ID = "Content1" ContentPlaceHolderID = "ContentPlaceHolder1" runat = "server"> </asp: Content>

0

Sie mehr Formular auf einer Web-Formularen Seite haben können, aber nur 1 die runat- haben „server‘ -Attribut und das runat = "server" Form kann keine verschachtelten Formen haben eine Option, die für Sie arbeiten könnte.

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled</title> 
</head> 
<body> 
    <div id="header> 
     <h1>My Site</h1> 
     <form id="SearchForm" action="search.aspx" method="post"> 
      <!--your search form html inputs (on server controls)--> 
     </form> 
    </div> 

    <!-- the standard webforms form used for server controls etc--> 
    <form id="form1" runat="server"> 

      <asp:ContentPlaceHolder ID="SearchBody" runat="server"> 
      </asp:ContentPlaceHolder> 

    </form> 
</body> 
</html> 

Sie auch auf der PostBackUrl techinique aussehen könnte:

http://msdn.microsoft.com/en-us/library/ms178140.aspx

0

Fügen Sie einfach <form runat="server"> am Anfang Ihrer Masterseite nach <body> Tag und innerhalb dieser setzen Sie Ihre <asp:content></asp:content>.

Ex. MyMasterPage.master Seite

<% master ... %> 
<html> 
<head> .... </head> 
<body> 
<form runat="server"> 
. 
. 
. 
<div> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 

</asp:Content> 
</div> 
. 
. 
. 
</form> 
</body> 
</html> 

Nester Seite: MyPage.cs

<% page ... %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
    <asp:Button ID="testButton" runat="server" Text="Sample Button" Width="135px" /> 
</asp:Content> 

Auf diese Weise können Sie Ihr Problem

1

lösen Wie Sie bereits in Masterseite bilden, werden Sie nicht sein In der Lage, jedes Formular in der verschachtelten Seite hinzufügen, könnte es nur ein Formular-Tag pro Seite,

anstatt zwei verschiedene Formulare in der verschachtelten Seite 01 erstellenkönnen Sie nicht zwei verschiedene div, Tabelle usw. erstellen

was zwingen Sie Form in verschachtelten Seite

nehmen
Verwandte Themen