代码之家  ›  专栏  ›  技术社区  ›  Alejandro

如何处理ASP.NET中的多个表单

  •  0
  • Alejandro  · 技术社区  · 16 年前

    页面的简短描述:用户搜索帐户(第一个窗体是搜索帐户),帐户信息显示在下面,您可以更改该帐户(第二个窗体)。

    我目前只有一个表单具有此功能,但在尝试验证时遇到问题(因为按这两个按钮中的任何一个都将尝试验证所有字段,尽管这不正确,因为如果正在搜索,则不需要填写要编辑的其他字段)。此外,当我在任何文本框中按Enter键时,单击搜索按钮,我如何将文本框与特定按钮关联。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Mark Dickinson    16 年前

    在搜索按钮上使用causesvalidation属性怎么样?

    或者您可以使用这样的自定义验证器

    <asp:TextBox ID="TestBox" runat="server"></asp:TextBox>
    <asp:CustomValidator ErrorMessage="Not" ID="CustomValidator1" Enabled="true"    
       ControlToValidate="TestBox"
       runat="server"></asp:CustomValidator>
    <asp:Button ID="myButton" CausesValidation="true" OnClick="TestClick" runat="server" />
    

    然后让你的按钮有一个这样的onclick命令

    public void TestClick(object sender, EventArgs e)
    {
        if(this.TestBox.Text == "me") this.CustomValidator1.IsValid = false;
        return;
    }
    
        2
  •  4
  •   Dan Diplo    16 年前

    要仅验证某些表单域,可以添加 ValidationGroup 对于所有验证器,您需要在该组中进行验证,并单击提交它们的按钮。或者,设置 CausesValidation 您的任何按钮的属性 不要 希望在按下时触发验证。

    您还可以指定 default button 在内部 asp:panel . 这控制在面板中单击Enter时触发的按钮。因此,在窗体周围环绕一个面板,并在面板中指定按钮,如下所示:

    <asp:Panel ID="PanelForm" runat="Server" DefaultButton="ButtonSubmit">
    
        <!-- Form fields go here... -->
    
        <asp:Button ID="ButtonSubmit" runat="Server" Text="Submit" />
    
    </asp:Panel>