相关疑难解决方法(0)

Page.IsValid如何运作?

我有以下代码RequiredFieldValidator.该EnableClientScript属性在验证控件中设置为"false".我也在浏览器中禁用了脚本.

我没有Page.IsValid在后面的代码中使用.不过,当我在文本框中提交没有任何价值时,我会得到error message.

根据@Dai的评论,我发现这可能是一个问题,如果有任何代码Page_Load在a中执行postback.不会抛出任何验证错误.

(但是,对于按钮单击处理程序,无需检查Page.IsValid)

if (Page.IsPostBack)
{
    string value = txtEmpName.Text;
    txtEmpName.Text = value + "Appended";
}
Run Code Online (Sandbox Code Playgroud)

  1. 为什么服务器端验证没有发生Page_Load
  2. 为什么我使用它时工作正常Page.IsValid
  3. 您能否提供一篇解释此文章的文章?(不是说 - 总是使用Page.IsValid;但是说明了什么是强制性使用场景Page.IsValid

更新1

请参阅ASP.NET验证器常见错误概念

Page.IsValid只有在之后Page.Validate()隐式调用的run方法之后才能访问Page_Load.如果您将所有逻辑保存在Page_Load事件处理程序中(非常不鼓励!),请Page.Validate()在检查之前调用Page.IsValid.

注意:建议不要保留所有逻辑Page_Load.如果按钮单击事件发生了某些事情,请将其移动到按钮单击事件处理程序.如果在下拉事件中发生某些事情,请将其移至下拉选定的项目更改事件处理程序.

更新2

看起来,我们需要添加If(Page.IsValid)button click,如果我们使用的是也Custom Validator与服务器端验证.请参阅CustomValidator不能正常工作.

注意:此处存在客户端验证问题:是否使用Page_IsValid或Page_ClientValidate()(对于客户端事件)

MARKUP …

asp.net validation

35
推荐指数
1
解决办法
6万
查看次数

标签 统计

asp.net ×1

validation ×1