我有一些旧的 ASP.NET 项目要返工,因为这是我第一次接触 ASP,所以我不太了解它。
我有一些数字表格,其中有 5-6 个字段,其中 4 个附加了内置验证器。
每个验证器都附加了客户端 JavaScript 函数,因此当我从字段中松开焦点时,它会得到验证,如果验证不正确,它会给出红色星号,你会发现有问题。
例如,一个功能是:
function validateEmail(src, arg) {
var email = document.getElementById('txtEmail_txt').value;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
arg.IsValid = reg.test(email);
}
现在一切正常,但需要额外的“功能”,当所有必填字段都有效时,启用“继续”按钮。
我通过将控件与“.ascx.cs”文件中的检查功能绑定来做到这一点:
txtEmail.textbox.AutoPostBack = true;
txtEmail.textbox.TextChanged += new EventHandler(requiredfields_TextChanged);
chkEmailCheck.AutoPostBack = true;
chkEmailCheck.CheckedChanged += new EventHandler(requiredfields_TextChanged);
然后,如果我的要求正确,我将 Project 值设置为 true:
void requiredfields_TextChanged(object sender, EventArgs e)
{
Project p = setProject();
btnSave.Enabled = EnableSubmitBtn(p);
}
我想用
private bool EnableSubmitBtn(Project p)
{
if (p.ProcedureType == 2)
{
if ('CustomValidator3 is valid' && chkEmailCheck.Checked==true){
return true;
}
}
else
{
}
return false;
}
现在,我不确定是否可以从 CustomValidator3 获得响应(类似于 CustomValidator3.isValid == true,顺便说一下不起作用),或者是将 JavaScript 函数重写为服务器端函数的唯一方法,然后检查那个功能?