0

我有一个 aspx 页面,其中包含一个文本框和一个用于搜索的图像按钮。我在文本框中使用了比较验证器(检查整数值)。但是即使我输入字母数字字符,页面也会在图像按钮单击时重新加载,并显示错误消息。

我尝试使用正则表达式验证器,但问题仍然存在。

但是当我使用一个简单的 asp:button 并将其与文本框验证绑定时,它的工作正常(即回发不会发生在文本框的错误值上),下拉列表也是如此(没有回发发生)。

请建议。

这是代码-

@peroija:这是代码

<asp:ImageButton ID="btnSearch" runat="server" OnClick="btnSearch_Click" 
    ToolTip="Search" ValidationGroup="valControl" CausesValidation="true" />
<asp:TextBox ID="txtWidth" CssClass="TextFont" runat="server" 
    Width="233px" MaxLength="20" 
    ValidationGroup="valControl" CausesValidation="true"></asp:TextBox>
<asp:CompareValidator runat="server" ID="cmpValWidth" 
    ErrorMessage="Please enter integer values" ControlToValidate="txtWidth" Display="Dynamic" 
    Operator="DataTypeCheck" ValidationGroup="valControl"Type="Integer"/>
4

2 回答 2

0

从您的文本框中删除它,您只需要在验证器和按钮上使用它:

ValidationGroup="valControl" CausesValidation="true"

如果禁用了 javascript,则不会有客户端验证,因此还要始终检查服务器端的有效性:

if(Page.IsValid)
{
    "your btnSearch_Click code"
}
于 2012-06-08T05:43:24.167 回答
0

听起来你需要写

if(!isPostBack)
{

“你的代码”

}

在后面的代码中。防止在第一次没有查看页面的情况下运行代码

于 2012-06-07T11:11:22.540 回答