源贴地址:
http://topic.youkuaiyun.com/u/20070330/09/5bdf1281-01f0-4e20-90c4-827043958e8f.html?493129677
做前台功能设计的时候,遇到以下需求:
文本框显示数据库中原来的文本,鼠标点击文本框即变为编辑状态,编辑结束时执行内容存储的后台事件。
显示文本时的样式和与编辑状态时的样式风格也要求有不同。
实验中遇到以下问题:初次页面展现时,如果文本框输入不正确,触发了验证控件。改变文本框的输入正确后,焦点离开事件顺利执行。当再次将文本框的值输入异常时,验证控件没有显示异常,后台事件依然进行了。显然与逻辑不符合了,用验证控件的目的就是如果前台页面验证不满足的情况下,肯定不允许执行后台事件的。
辛苦一番之后,问题解决:
验证控件需设置以下2个属性,让其不做客户端脚本处理,直接调后台事件,但又要显示错误信息
EnableClientScript="False"
Display="Dynamic"
同时在后台TextChanged事件中也应检查页面验证的情况












为了让使用效果更加友好,把这些控件又放在了UpdatePanel中。不闪的才是最好的。
测试项目
ASP.NET代码:(TextBox的样式变更,放在了皮肤文件中)



















































文本框皮肤文件:

后台代码:







































示例工程下载:
/Files/heekui/TxtChange.rar