一个页面只能有一个服务器端的Form标签。 ASP.NET中的表单错误

时间:2014-05-08 17:31:36

标签: c# asp.net c#-4.0

在下面的编码中,我在这里向您展示我的主页&菜单用户控件(菜单用户控件添加到母版页)。在这里显示错误

当我在runat ="服务器"

周围包装我的Usercontrol时生成错误
  

页面只能有一个服务器端表单标记。

我的母版页

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

<body>
<uc1:Menu runat="server" ID="Menu" />

<div>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>

</body>

我的用户控件

<form id="text" runat="server">
<asp:LinkButton ID="link_logout" Text="Logout" OnClick="link_logout_Click" runat="server" />
</form>

<%} %>

2 个答案:

答案 0 :(得分:6)

您应该将form添加到您的母版页中,如下所示:

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

<body>
  <form id="form1" runat="server">
    <uc1:Menu runat="server" ID="Menu" />
    <div>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>
  </form>
</body>

您的Usercontrol应如下所示(不需要form标记):

<asp:LinkButton ID="link_logout" Text="Logout" OnClick="link_logout_Click" runat="server" />

答案 1 :(得分:0)

即使我们使用母版页和内容页的组合,页面中也只允许一个表单元素。您可以从子页面中删除标记,因为您的母版页已包含表单标记,并且它将起作用。