无法使用 ajax 控件进行验证
unable to validate using ajax control
<asp:Label ID="lblSearch" runat="server" Text="Search Prefix"></asp:Label>
<asp:TextBox ID="txtSearch" MaxLength="2" runat="server" Width="80px"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="rfvSearch" ControlToValidate="txtSearch" Display="None" ErrorMessage="Please enter <b>Prefix.</b>" ValidationGroup="searchRegion"/>
<ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="vceSearch" TargetControlID="rfvSearch" HighlightCssClass="validatorCalloutHighlight" />
<asp:RegularExpressionValidator ID="revRegion" runat="server" ErrorMessage="Please enter <b>valid Numeric value.</b>" ControlToValidate="txtSearch" Display="None" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="vceRegion" runat="server" TargetControlID="revRegion" />
protected void btnSearch_Click(object sender, EventArgs e)
{
}
我为 txtsearch 添加了验证(仅数字)。当我在文本框中输入错误的数据 (AA) 时,我会收到带有验证消息的弹出窗口。
但是当我点击搜索按钮时,它将在 c#
中执行服务器端代码
我怎样才能阻止它并想在转到 btnSearch_Click 中的 c# 代码之前验证它??
当我在 c# 中添加以下代码时
this.Validate();
if (IsValid)
{ }
它不是第二次验证(每次 isvalid 都是 false,即使它是数字)
有人能帮帮我吗?
您可以使用 javascript 来验证您的控件,如下所示
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
function isAlphabets(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
return true;
return false;
<asp:Label ID="lblSearch" runat="server" Text="Search Prefix"></asp:Label>
<asp:TextBox ID="txtSearch" MaxLength="2" runat="server" Width="80px"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="rfvSearch" ControlToValidate="txtSearch" Display="None" ErrorMessage="Please enter <b>Prefix.</b>" ValidationGroup="searchRegion"/>
<ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="vceSearch" TargetControlID="rfvSearch" HighlightCssClass="validatorCalloutHighlight" />
<asp:RegularExpressionValidator ID="revRegion" runat="server" ErrorMessage="Please enter <b>valid Numeric value.</b>" ControlToValidate="txtSearch" Display="None" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="vceRegion" runat="server" TargetControlID="revRegion" />
protected void btnSearch_Click(object sender, EventArgs e)
{
}
我为 txtsearch 添加了验证(仅数字)。当我在文本框中输入错误的数据 (AA) 时,我会收到带有验证消息的弹出窗口。 但是当我点击搜索按钮时,它将在 c#
中执行服务器端代码我怎样才能阻止它并想在转到 btnSearch_Click 中的 c# 代码之前验证它??
当我在 c# 中添加以下代码时
this.Validate();
if (IsValid)
{ }
它不是第二次验证(每次 isvalid 都是 false,即使它是数字)
有人能帮帮我吗?
您可以使用 javascript 来验证您的控件,如下所示
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
function isAlphabets(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
return true;
return false;