• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net中requiredfieldvalidator很纠结的问题(有关ClientScript属性)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先看一眼界面

界面需求:

1."Create Section"按钮,取得文本框的输入文本存入库中;

2.点击GridView的"编辑",将记录的信息填入文本框中;

3.业务编码对应不能为空的表字段SectionCode,ID为"tbSectionID";

4.添加一个ReQuiredFieldValidator,ControlToValidate="tbSectionID";

现在开始纠结的问题

首先,ReQuiredFieldValidator的EnableClientScript设为true,使ReQuiredFieldValidator允许客户端验证。

点击按钮会触发认证,提示SectionId不能为空,满足要求,但点击GridView的"编辑"也会触发验证,使得记录的信息无法填充控件

分析原因:EnableClientScript=true,ReQuiredFieldValidator进行客户端的验证,点击"编辑"即会触发客户端的验证,此时SectionID的值为空,验证无法通过,故无法回传到服务器,因此也无法将文本框填充内容。

然后,将ReQuiredFieldValidator的EnableClientScript设为false,取消客户端的验证

此时点击按钮提示验证无法通过,但内容却能够存入库,点击编辑,也提示验证无法通过,但文本框却填充成功。

分析原因:ReQuiredFieldValidator的EnableClientScript设为false会将验证在服务器端进行,根据SectionID的值进行验证,若不通过,将Page的IsValid设为false,并显示ErrorMessage,但服务器端的代码还是随后执行了。

解决办法:此时要添加代码来判断验证的结果了,在Button的事件响应函数写为如下形式:

protected void OnButton_Clicked(object sender,EventArgs e)

{

  if(Page.IsValid)

  {

    //按钮的事件处理逻辑

    ....

  }

}

(注:个人意见,如有错误,请不吝指教)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net单点登录发布时间:2022-07-10
下一篇:
如何使用jQuery向asp.netMvc传递复杂json数据发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap