设置Display=";时ASP.NET验证程序出现问题;“动态”;

设置Display=";时ASP.NET验证程序出现问题;“动态”;,asp.net,Asp.net,这是我的ASP.NET代码。简单。它有一个与所需字段验证器关联的文本框和一个提交按钮 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic"

这是我的ASP.NET代码。简单。它有一个与所需字段验证器关联的文本框和一个提交按钮

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ControlToValidate="TextBox1" Display="Dynamic" 
        ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
    <asp:Button ID="Button1" runat="server"  Text="Click Me" />

执行以下操作

  • 点击按钮1

  • 将显示RequiredFieldValidator

  • 在文本框中键入一些文本

  • 使用鼠标(请不要使用标签)。然后单击按钮,您可以看到您的页面没有“回发”,只有验证被清除。你需要

  • 再次单击按钮以提交表单

    这似乎是Microsoft在设置属性Display=“Dynmaic”时的一个错误,是否有一个简单的解决方法,而不更改


    这个有吗?我在任何地方都找不到解决办法

    您的页面未提交,因为当您要单击该按钮时,该按钮会移到鼠标下方。这是因为它获得了焦点,验证程序错误消息消失在左侧。 如果在按钮前面插入一个

    ,则该按钮可以工作

    通常我使用*作为文本,并使用a显示错误消息:


    你好,蒂姆,谢谢你的回复。添加一个break标签有帮助。很高兴看到有价值的回复。现在,我需要在项目代码中尝试一些类似的东西,在其中我可能会遇到一些麻烦,在执行相同的操作时当您不能在验证器之后放置按钮时,您可以使用css样式的最小高度来设置表的大小和表外的按钮,它将不会移动。:)
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
            ControlToValidate="TextBox1" Display="Dynamic" 
            ErrorMessage="This is the Errormessage" Text="*"></asp:RequiredFieldValidator>
    <asp:Button ID="Button1" runat="server" Text="Submit" />
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />