此文是Asp.net 2.0功能体验,总体设计思想的后续文章
HiddenField现在终于作为System.Web.UI.WebControls命名控件下的一个正式控件提供。利用它及asp.net2.0中的新的数据绑定技术可以很容易实现无编码的数据更新。例如在示例网站中针对文章的编辑模板如下图所示:
其示例网址如下:
http://www.keyss.cn/admin/basismodule/article/article.aspx
从上图可以看出,我在FormView中放了三个hiddenfield之所以这样作,是不想在数据源控件在更新数据时再次读取该数据,而这三个field都不应提供给用户编辑所以此时是使用hiddenfield的最好时机。
但通过使用Reflector查看hiddenfield的源代码,发现它是从System.Web.UI.Control继承下来的并且不支持数据验证而他的客户端生成代码也是从input标记而来,按常理来讲很容易就可实现验证,当然在通常情况不可视的控件是不需要验证的,但在某些情况下验证还是有必要的,例如在上图中针对文章的内容的编辑我开发了一个大文本编辑控件,此控件在主页面中是没有可视的编辑界面的,而当单击图标按钮时显示一个html编辑器,当关闭并保存时,会把编辑的内容存回主页面的一个隐藏域中,而当保存记录时,我又希望能触发验证,为了解决此问题,我从新开发了一个新的hiddenfield控件,支持验证, 并从此控件重新继承了一个新的大文本编辑器控件来实现想要达到的功能。希望今后微软对些控件会作些调整吧。
HiddenField现在终于作为System.Web.UI.WebControls命名控件下的一个正式控件提供。利用它及asp.net2.0中的新的数据绑定技术可以很容易实现无编码的数据更新。例如在示例网站中针对文章的编辑模板如下图所示:
其示例网址如下:
http://www.keyss.cn/admin/basismodule/article/article.aspx
从上图可以看出,我在FormView中放了三个hiddenfield之所以这样作,是不想在数据源控件在更新数据时再次读取该数据,而这三个field都不应提供给用户编辑所以此时是使用hiddenfield的最好时机。
但通过使用Reflector查看hiddenfield的源代码,发现它是从System.Web.UI.Control继承下来的并且不支持数据验证而他的客户端生成代码也是从input标记而来,按常理来讲很容易就可实现验证,当然在通常情况不可视的控件是不需要验证的,但在某些情况下验证还是有必要的,例如在上图中针对文章的内容的编辑我开发了一个大文本编辑控件,此控件在主页面中是没有可视的编辑界面的,而当单击图标按钮时显示一个html编辑器,当关闭并保存时,会把编辑的内容存回主页面的一个隐藏域中,而当保存记录时,我又希望能触发验证,为了解决此问题,我从新开发了一个新的hiddenfield控件,支持验证, 并从此控件重新继承了一个新的大文本编辑器控件来实现想要达到的功能。希望今后微软对些控件会作些调整吧。