这段时间仍然在做WebPart的开发工作。
在开发的过程中,我们会以为Webpart和Asp的程序没有什么具体的区别。但是很多地方还是有区别的哦。我们经常要在程序开发的过程中加入很多的检查项,例如:用户名时候没有输入啊,密码是否一致啊。这个时候我们很容易就会找到Asp.net提供的RequiredFieldValidator这个检查项,其实这类的东西还有很多,例如:RequiredFieldValidator, RangeValidator, CompareValidator, RegularExpressionValidator, CustomValidator 和 ValidationSummary 。但是我就在这个简单的控件前面摔倒了。如果研究过Asp的朋友都知道,其实这个几个控件都是通过服务器端生成了一段Javascript代码所造成的效果,目的是为了减少服务器的负载,使得很多简单的判断都在客户的浏览器中进行。我在Webpart的正文中引用了多处的RequiredFieldValidator,目的是为了检查输入的内容是否满足数据库中的需要,避免空缺一些必要的数据项。但是每次部署在MOSS或者WSS3.0都会出现错误,这个错误大家都是非常熟悉的哦。按照个人的开发习惯,马上把VS挂上进程,然后开始一步一步地调试,郁闷,任何错误都没有,但是死活就是不能Webpart的界面显示出来,总是出现错误。然后运排查的方法,把代码中所有的RequiredFieldValidator都去掉以后,WebPart又正常了,因此判断RequiredFieldValidator跟Webpart有冲突。同样按照简单的思维,放G去找解决的方法,找到了两个办法:Using Validators to Verify User Input from a Web Part"s Custom EditorPart - SharePoint Solutions Blog 和Using "RequiredFieldValidator" in WebPart,然后一一尝试,仍然是没有结果。这两种办法都只能在ToolPanel中运用,不能在WebPart的正体中运行。最后为了开发的进度,只能用了最最原始的方法,自己写Javascript代码。
BTW:我开发WebPart从来不用什么可视化之类的东西,都是自己从一个空白的类开始写,所有的都是代码,因此不会有其他特别因素的影响。
人总是不能够懒的,否则会遭报应的。