2009-08-28 11 views
5

フォーム(runat = "server")を持つマスターページがあります。しかし、ネストされたページでは、私は2つのフォームがあります。 最初はパスワードを変更するためのもので、もう1つはユーザーデータのサブミット用です... 両方とも存在しなければならず、別々の送信ボタンが必要です。マスターページとネストされたフォームの問題

フォームタグで適切なフィールドを囲みようとしましたが、囲まれたフォームが許可されないというエラーが発生しました....どうすれば目標を達成できますか?

ありがとうございます!

答えて

4

ASP.NETは、ページごとに1つのフォームのみをサポートしています(デスクトップセッションのフォームをエミュレートします)。おそらく必要なのは、マスターページにフォームを残して、コンテンツページのボタンの2つのクリックハンドラーを持つことです。いくつかのバリデーターを持っていても、コントロールやボタンに影響を与えないように、ValidationGroupを指定する必要があります。

0

ASPXページでは、<フォーム>タグを1つだけ持つことができます。マスターページを使用している場合は、既に<形式のrunat = "server">タグがあります。入れ子になったページで<フォーム>タグを再度使用することはできません。あなたができることは、このタグのネストされたページにコンテンツを追加することです。 < ASP:コンテンツID = "Content1" ContentPlaceHolderID = "ContentPlaceHolder1" にrunat = "サーバー"> </ASP:コンテンツ>

0

あなたはWebフォームページに複数のフォームを持つことができますが、唯一の1がrunat-を持つことができます「サーバー」属性とにrunat = 『サーバー』の形式は、ネストされたフォームを持つことができないあなたのために働くかもしれない一つの選択肢を:。

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

あなたはまた、PostBackUrlのtechiniqueで見ることができる:

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

0

<body>タグの後にマスターページの先頭に<form runat="server">を追加して、その中に<asp:content></asp:content>と入力します。

Ex。 MyMasterPage.masterページ

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

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

ネストページ: MyPage.csこのように

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

あなたはすでにマスターページに形成されているとして、あなたはされませんあなたの問題

1

を解決することができます入れ子になったページに2つの異なるフォームを作成するのではなく、

のページごとに1つのフォームタグしか存在しない可能性があります別々の2つの異なるdiv、テーブルなどを作成することはできません

入れ子になったページで何をしなければならないか

関連する問題