asp.net验证器仍在回帖

时间:2009-11-13 23:02:57

标签: asp.net validation postback

我正在使用.NET附带的默认验证

我遇到的问题是,即使我的浏览器启用了JavaScript,基本验证仍然允许回发。

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

我的应用程序是usihg UrlRewriting.Net ......这可能是问题吗?

<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
    <rewrites>
        <!--Fix the WebResource JS Error-->
        <add name="WebResourceFix" virtualUrl="^~/WebResource.axd(.*)" rewriteUrlParameter="IncludeQueryStringForRewrite" destinationUrl="~/WebResource.axd$1" ignoreCase="true"/>
        <!--Fix the ScriptResource JS Error-->
        <add name="ScriptResource" virtualUrl="^~/ScriptResource.axd(.*)" rewriteUrlParameter="IncludeQueryStringForRewrite" destinationUrl="~/ScriptResource.axd$1" ignoreCase="true"/>
        <!--Allow Extensionless Pages-->
        <add name="pageExtensionless" virtualUrl="^~/(.+)$" redirectMode="Permanent" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/$1.aspx" ignoreCase="true"/>
    </rewrites>
</urlrewritingnet>

3 个答案:

答案 0 :(得分:3)

尝试在按钮上添加CausesValidation = True

<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="True" />

答案 1 :(得分:1)

以下是有关调试此类问题的一些建议:

  1. 使用Fiddler或其他一些HTTP调试器来确保页面正确下载用于提供客户端验证的外部JavaScript文件,并且正确地从服务器返回这些客户端文件(即,他们没有返回404或其他一些HTTP错误代码。)
  2. 使用Firebug设置断点并逐步执行JavaScript。

答案 2 :(得分:0)

在您的RequiredFieldValidator中,我建议您尝试设置EnableClientScript="true"。希望这能解决问题。