2017-12-26 93 views
0

私は、Webフォームasp.net のコースプロジェクトのためのサイトを構築しています。私はすべてのウェブサイトのマスターページを作ったのです 私は2つのrunat = serverフォームを1つのWebフォームasp.netに入れようとしています

:ウェブサイト 内検索として作用するが、それは、これはマスターコード

<html> 
    <div id="topContent"> 
     <head runat="server"> 
      <form runat="server"> 
       <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
       <asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder> 
       <title>Dor Lugasi Guitar Shop</title> 
       <link href="Styles.css" rel="stylesheet" type="text/css" /> 
       <right> 
       <img src="../Images/logobk2.png" alt="Powered by DLG!" class="auto-style7"/><br /> 
       <center id="headdiv"> 
        <asp:LinkButton ID="lnkHome" runat="server" PostBackUrl="~/Pages/Home.aspx" >Home</asp:LinkButton> 
        <asp:LinkButton ID="lnkLogin" runat="server" PostBackUrl="~/Pages/Login.aspx">Login</asp:LinkButton> 
        <asp:LinkButton ID="lnkContact" runat="server" PostBackUrl="~/Pages/Contact.aspx" >Contact</asp:LinkButton> 
        <asp:LinkButton ID="lnkGuitarLab" runat="server" PostBackUrl="~/Pages/GuitarLab.aspx">Guitar Lab</asp:LinkButton> 
        <asp:ImageButton style="float:left;margin-left:10px;" ID="btnCart" runat="server" Height="55px" ImageUrl="~/Images/cart.png" Width="55px" PostBackUrl="~/Pages/Cart.aspx" /> 
        <asp:TextBox ID="txtSearch" runat="server" BackColor="Silver" BorderColor="Black" TextMode="Search" placeholder="    Search" onkeypress="txtSearch"></asp:TextBox> 
        <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/Images/src.png" OnClick="btnSearch_Click" Width="25px" /> 
       </center> 
       <center id="headdiv" class="auto-style6"> 
        <asp:Label style="float:left;margin-left:10px;" ID="lblLoggedUser" runat="server" Font-Bold="True" Font-Size="Large" ForeColor="Red"></asp:Label> 
        <asp:LinkButton ID="btnLogOut" runat="server" OnClick="btnLogOut_Click" Visible="False" CssClass="auto-style5" Height="24px" Width="99px">Log Out</asp:LinkButton> 
        <asp:LinkButton style="float:right;margin-right:10px;" ID="lnkManageProducts" runat="server" PostBackUrl="~/Pages/ManageProducts.aspx">Manage Products</asp:LinkButton> 
        &nbsp;&nbsp; 
        <asp:LinkButton style="float:right;margin-right:10px;" ID="lnkManageUsers" runat="server" PostBackUrl="~/Pages/ManageUsers.aspx">Manage Users</asp:LinkButton> 
       </center> 
      </form> 
     </head> 
    </div> 
    <body id="body"> 
     <form runat="server"> 
      &nbsp;&nbsp; 
      <center> 
       <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> 
       </asp:contentplaceholder> 
      </center> 
      <footer id="footer" class="auto-style3"> 
       </left> 
       <img src="../Images/logowhite.png" alt="Powered by ASP.NET!" /> 
      </footer> 
     </form> 
    </body> 
</html> 

ですが、イムは、取得

<form runat="server"> 

にする必要がテキストボックス10

A page can have only one server-side Form tag. 

私はこの検索テキストボックスとボタンを追加する前に、私は

<form runat="server"> 
<html> 
... 
<head>.....</head> 
<body>....</body> 
<footer>.....</footer> 

</html> 
</form> 

を持っていたし、私はそれを入力します押したときに、ログインページで を働いたが、代わりにログインフォーム

+0

別の「ページ」に接続する必要があります。あなたのコードが扱う 'search.aspx'ページ。ここに私が見つけた例があります:http://www.frederikvig.com/2009/06/using-multiple-forms-on-an-asp-net-web-forms-page/ –

答えて

0

の検索フォームに適用されます最終的に私はページのための単一のフォームを作成し、ちょうどボタンを持っていた特定のフォームを入れて終了しました

<asp:Panel ID="search_panel" runat="server" DefaultButton="btnSearch"> 
        <asp:TextBox ID="txtSearch" runat="server" BackColor="Silver" BorderColor="Black" TextMode="Search" placeholder="    Search" onkeypress="txtSearch"></asp:TextBox>  
        <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/Images/src.png" OnClick="btnSearch_Click" Width="25px" />      
        </asp:Panel> 

私はthats正しい方法

+0

はい、Webフォームでは、エラーメッセージは 'runat = server'属性を持つフォームを1つしか持てないことを示しています。それはダムですが、それはWebフォームです。 Webフォームを使用することを選択しましたか、強制されましたか?あなたの先生がまだ2017年にWebフォームを教えているなら、時代を乗り越えて最新のWebツールを教える必要があります。少なくともASP.NET MVCですが、Angular、Vue、Reactなどのフロントエンドシステムを教え、それをASP.NET Web APIのようなRESTベースのAPIフレームワークと組み合わせる方が良いでしょう。 – mason

+0

私は全くあなたに同意します。 私の暇な時間に自分自身を教えてください しかし、コースのポイントはサイトビルディングではなく、コミュニケーションとサイトは基本的なものを実装するだけです –

関連する問題