页面使用asp.net验证控件在提交数据时无响应
很旧的一个问题,MARK一下。
有很多人碰到如下问题,在页面上使用了RequiredFieldValidator之类的验证控件后,在页面提交数据(点击提交按钮时页面没有响应了)就没有反应了,于是很多人疑问,为什么在我本机上没出现过这种情况,一旦把它部署到服务器上就工作不正常了呢?
其实原因很简单,这是因为WebUIValidation.js版本不一致造成的。
我们都知道asp.net验证控件是靠wwwroot\aspnet_client\system_web\version\WebUIValidation.js 中脚本工作的,如果此脚本不存在,验证控件形同虚设,根本不起作用,如果服务器上只存在一个版本的.net framework根本就不会出现此问题(其实很多情况下是:服务器安装了windows server2003,因为win2003在安装时就已默认安装了2.0的框架,由于WEB程序是用.net 1.1.4322版本开发的。当部署上去时,这二个版本的验证脚本根本会一致,web程序是1.1.4322\WebUIValidation.js版本,服务器上是2.0\WebUIValidation.js)
解决方法:
第一种方法:将你开发时能用的版本覆盖服务器上的版本,文件路径片于IIS工作目录下:wwwroot\aspnet_client\system_web\version\WebUIValidation.js
第二种方法:使用命令 aspnet_regiis -c 将客户端脚本的此版本安装到每个 IIS 站点目录的 aspnet_client 子目录中。
%windir%\Microsoft.Net\FrameWork\version\aspnet_regiis -c
至此,再不会出现提交无响应的问题了。
From: http://repository.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。