2009-08-28 12 views
5

Mam stronę wzorcową z formularzem (runat = "serwer"). Jednak w zagnieżdżonej stronie mam 2 formularze. Pierwsza służy do zmiany hasła, a druga do przesyłania danych użytkownika ... Obie muszą istnieć, z osobnymi przyciskami przesyłania.Strona główna i formularze zagnieżdżone numer

Próbowałem zamknąć odpowiednie pola za pomocą znaczników formularzy, ale wystąpił błąd, że załączone formularze nie są dozwolone .... Jak mogę osiągnąć mój cel?

Dzięki!

Odpowiedz

4

Program ASP.NET obsługuje pojedynczy formularz na stronę (emuluje formalne sesje pulpitu). Prawdopodobnie potrzebujesz zostawić formularz na stronie wzorcowej i mieć 2 procedury obsługi kliknięć dla przycisków na stronie treści. W przypadku elementów sterujących i przycisków może być również konieczne określenie grupy ValidationGroup, aby nie zakłócały one działania, jeśli masz kilka walidatorów.

0

Możesz mieć tylko jeden tag formularza> < na stronie ASPX. Kiedy używasz strony wzorcowej, ma ona już znacznik runat = "server"> <. Nie można ponownie użyć formularza> tag < w zagnieżdżonych stronach. Możesz dodać swoją treść na zagnieżdżonej stronie w tym tagu. < asp: Content ID = "content1" ContentPlaceHolderID = "ContentPlaceHolder1" runat = "serwer"> </asp: Content>

0

można mieć wiele formularz na stronie WebForms, ale tylko 1 może mieć runat- „server” atrybut i runat = «server forma» nie może mieć żadnych zagnieżdżonych formularzy Jedną z opcji, które mogą pracować dla Ciebie.

<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> 

można również spojrzeć na techinique PostBackUrl:

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

0

Po prostu dodaj <form runat="server"> na początku swojej strony wzorcowej po tagu <body>, a następnie wpisz swoją <asp:content></asp:content>.

Przykł. MyMasterPage.master strona

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

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

Nester strony: MyPage.cs

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

W ten sposób można rozwiązać problem

1

Jak już się tworzyć już na stronie głównej, nie będzie w stanie dodać dowolny formularz na zagnieżdżonej stronie, może istnieć tylko jeden tag formularza na stronie, zamiast tworzyć dwa różne formularze w zagnieżdżonej stronie, 01.Nie można utworzyć oddzielnego dwóch różnych elementów div, tabeli itp.

jaka jest siła, którą należy przyjąć w zagnieżdżonej stronie

Powiązane problemy