我有一个我认为会有多种形式的asp.net。我放了一个asp面板并将表单添加到它和验证器来控制每一个工作。但是如果我试图把另一个面板和一个表单页面变成我执行此操作的原因是因为任何回发数据的尝试都会触发所有验证者。我知道我可以将每个表单制作到每个页面。但是对于我的设计,这看起来很愚蠢。
我正在寻找一种在一个页面中拥有多个表单的方法。
或让验证员仅在某些情况下工作。
如果按钮单击仅发生在验证器所在的同一面板中,则或组验证器可以工作。
答案 0 :(得分:3)
您不能在单个ASPX页面中放置多个表单标记。这是 ASP.Net Web Form 的限制。
但是,您可以使用ValidationGroup伪造它。例如 -
<%-- Group One --%>
<asp:TextBox ID="TextBox1" runat="server"
ValidationGroup="One" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server"
Display="Dynamic"
ValidationGroup="One"
ControlToValidate="TextBox1"
Text="Textbox one is required." />
<asp:Button runat="server" ID="Button1"
OnClick="Button1_Click"
Text="Submit"
ValidationGroup="One" />
<hr/>
<%-- Group Two --%>
<asp:TextBox ID="TextBox2" runat="server"
ValidationGroup="Two" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
runat="server"
Display="Dynamic"
ValidationGroup="Two"
ControlToValidate="TextBox2"
Text="Textbox two is required.." />
<asp:Button runat="server" ID="Button2"
OnClick="Button2_Click"
Text="Submit"
ValidationGroup="Two" />
注意 :如果您想在一个页面中使用多个表单标记,则可能需要查看 ASP.Net MVC 强>