Asp.net IE上的HTML和ASP按钮冲突

Asp.net IE上的HTML和ASP按钮冲突,asp.net,Asp.net,我在IE上使用两种类型的按钮时遇到问题。 对于这个测试,我在Visual Studio中创建了一个ASP.NET网页,并在Default.aspx中添加了下面的代码 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <form action="#" method="post"> <input type="submit" name="

我在IE上使用两种类型的按钮时遇到问题。 对于这个测试,我在Visual Studio中创建了一个ASP.NET网页,并在Default.aspx中添加了下面的代码

  <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <form action="#" method="post">
      <input type="submit" name="test" value="Test!" class="button" title="Subscribe" />
    </form>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    Hello <asp:Label ID="l1" runat="server" Text=""></asp:Label>
  </asp:Content>

你好

当我尝试使用asp:按钮时,问题发生了。它不起作用(没有回发)。

您的母版页已经有一个包含内容区域的
表单
元素,因此上面标记中的表单本质上是一个嵌套表单。这可能就是把你搞砸的原因;事实上,我甚至不知道这样做是否有效。无论哪种方式,您都不需要
表单
,除非它有您没有提到的某种用途。我建议删除它,然后再试一次。

如果您确实需要表单属性,可以从母版页关闭表单,然后在添加表单后重新打开。大概是这样的:

  <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    </form>
    <form action="#" method="post">
      <input type="submit" name="test" value="Test!" class="button" title="Subscribe" />
    </form>
    <form action="#" method="post">
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    Hello <asp:Label ID="l1" runat="server" Text=""></asp:Label>
  </asp:Content>

你好

但是我同意贾斯汀的观点,为什么你需要一个表单中的一个表单。

我不需要它。我只是不明白为什么我不能这么做。@Makah-,很可能是因为它们会导致对提交采取何种行动的混淆。带有嵌套表单的网页将导致客户端出现未定义的行为,这可能导致ASP.NET无法理解的回发数据。回发的确切外观可能取决于浏览器。