【问题标题】:how to work with multiple forms in one asp.net page如何在一个 asp.net 页面中处理多个表单
【发布时间】:2015-01-30 01:49:03
【问题描述】:

我有一个我认为会有多个表单的 asp.net。我放置了一个 asp 面板并将表单添加到它和验证器以控制所有工作。但是如果我尝试放置另一个面板和表单页面成为无效。我这样做的原因是因为任何回发数据的尝试都会触发所有验证器。我知道我可以将每个表单制动到每个页面。但是对于我的设计来说,这似乎很愚蠢。

我正在寻找一种在一个页面中包含多个表单的方法。

或让验证器仅在某些情况下工作。

如果按钮单击仅发生在验证器所在的同一面板中,则或组验证器工作。

【问题讨论】:

    标签: asp.net forms


    【解决方案1】:

    您不能在一个 ASPX 页面中放置多个 form 标记。这是 ASP.Net Web 表单 的限制。

    但是,您可以使用 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" />
    

    注意:如果您想在单个页面中使用多个 form 标签,您可能需要查看 ASP.Net MVC

    【讨论】:

    • 感谢您的回答。按预期工作。这么晚才回复很抱歉。 :D
    猜你喜欢
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多