2016-12-03 12 views
0

マスターページに保存されているナビゲーションバーに共通ログインセクションを定義したいとします。サーバー側フォームタグマスターページ

私の問題は、asp.netはページごとに複数のタグrunat = "server"を持つことができないということです。どうすればマスターページ(ナビゲーションバーのユーザーログイン)と子ページにもコントロールできるように、この問題を解決できますか?

問題はボタンの下部にあります。私はフォームrunat = "server"タグで囲む必要があります。しかし、私はすでに、子ページの一番下のページに1つのフォームタグを持っています。

<ul class="nav navbar-nav navbar-right"> 
      <li><a href="SignUp.aspx">Sign Up to the Service</a></li> 
      <li class="dropdown"> 
       <a href="#" class="glyphicon glyphicon-user" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Login<span class="caret"></span></a> 
       <ul class="dropdown-menu" id="dropdownlogin"> 
       <div class="form-group"> 
        <label for="usr" class="userlogininfo">Username</label> 
        <input type="text" class="form-control" id="usr"/> 
       </div> 
       <div class="form-group"> 
        <label for="pwd" class="userlogininfo">Password</label> 
        <input type="password" class="form-control" id="pwd"/> 
       </div> 
       <li role="separator" class="divider"></li> 
       <a class="btn btn-primary btn-block" href="LoggedHome.aspx" role="button">Go</a> 

       <asp:Button CssClass="btn btn-primary btn-block" ID="btnLogin" Text="Vai" runat="server" /> 

       </ul> 
      </li> 
      </ul> 
     </div><!-- /.navbar-collapse --> 
     </div><!-- /.container-fluid --> 
    </nav> 


<form id="form1" runat="server"> 
<div> 
    <asp:ContentPlaceHolder id="body" runat="server"> 

    </asp:ContentPlaceHolder> 
</div> 
</form> 

おかげ

+0

マスターページとログイン制御からスニペットを投稿できますか?それぞれのポストバックハンドラーのスケルトンとは? –

+0

なぜマスターページにフォームを置くだけでいいですか?ちょうど1つのフォームがあります。 – mason

+0

@brianchandleyが質問をマスターページのスニペットで更新しました – arielsp

答えて

1

を制御&ページ、これは許可されていません。

あなたができる場合は、次のフォームがサイド によって側面があるので、 マークアップを再想像OR:サイドでこれが不可能な側面、ログインフォームタグを削除するだけしてみてください 場合。 - 親フォームタグが同じページにポストバックします:これがあなたが望むすべてのものであれば、そのトリックを行うかもしれません。

これは@masonの提案です。

1

石工が言ったように、ちょうど、すべてのコントロールを同封しますマスターページに をフォームにrunat =「サーバー」タグを入れますので、どこでもマスターまたは子内のサーバーコントロールを追加することができますあなたが持っている設定は、フォーム内のフォームをレンダリングしたい場合

<form id="form1" runat="server"> 
    <ul class="nav navbar-nav navbar-right"> 

      <snip>....</snip> 
</ul> 
<div> 
    <asp:ContentPlaceHolder id="body" runat="server"> 

    </asp:ContentPlaceHolder> 
</div> 
</form> 
関連する問題