有一个asp.net应用,当它作为虚拟目录发布到IIS的时候,一切正常;当它作为网站发布到IIS的时候,它所有的表单都提交不了了,按钮按上去没有任何反应。
使用ieHTTPHeaders工具查看,发现点击按钮后没有发送任何消息给服务器端,初步确定应该是前台的问题,很可能是js的问题。检查了页面源代码,其本身的js应该不存在什么问题。于是打开ie的脚本调试程序,在form的onsubmit函数内加入断点:
js 代码
-
onsubmit=
"if (!ValidatorOnSubmit()) return false;"
js 代码
-
function
ValidatorOnSubmit() {
-
if
(Page_ValidationActive) {
-
return
ValidatorCommonOnSubmit();
-
}
-
return
true
;
-
}
执行到
js 代码
-
function
ValidatorCommonOnSubmit() {
-
event.returnValue = !Page_BlockSubmit;
-
Page_BlockSubmit = false
;
-
}
发现它没有返回,相当于返回false,因此导致onsubmit返回false。
仔细检查了下,发现该应用下有一个目录aspnet_client\system_web\1_1_4322,正常情况下这个目录应该是在iis的根目录Inetpub\wwwroot下,在Inetpub\wwwroot下的WebUIValidation.js里该方法的代码为:
js 代码
-
function
ValidatorCommonOnSubmit() {
-
var
result = !Page_BlockSubmit;
-
Page_BlockSubmit = false
;
-
event.returnValue = result;
-
return
result;
-
}
而该应用下的WebUIValidation.js则为上面没有返回语句的代码。
js 代码
-
"javascript"
type=
"text/javascript"
src=
"/aspnet_client/system_web/1_1_4322/WebUIValidation.js"
>
这样原因就很清楚了,当该应用作为虚拟目录发布的时候,页面引用的js是iis目录下的正确的js文件,所以不会有问题;当该应用作为网站发布的时候,页面引用了错误的js文件,因此无法提交。不清楚原作者为什么把aspnet_client\system_web\1_1_4322这个及其下面的文件放在应用里面,导致这个错误。
分享到:
相关推荐
Javascript 客户端, 服务端相互调用的代码 asp.net
Uploadify3.2.1+Stream+PlUpload 三种批量上传控件(APS.NET) 。都测试通过了,方便大家学习
非常详细的ASP.NET学习ppt 本人的asp就是根据这个学的 适合初学者学习 附带aps.net+sql web开发介绍
测试aps.net 页面周期的页面。 可以看到各种事件的执行顺序 以便于更好的把握我们的程序代码 使我们处理某些事件,游刃有余。。。。
ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现
自己编写的基于APS.NET的三层结构,初学者很适合
精通APS.NET MVC5.pdf 高清完整PDF书,.Net开发的朋友值得拥有
mysql+efcore+aps.net.core api
使用APS.net与SqlServer工具的web站点中, c#与SqlServer通信工具类. 使用该类,可以将直接使用sql语句,将sql语句写在C#类中. 比如:SharedataBase.Instance.Execsql("Insert into Test valus(1,2,3)"); 这是一句C#代码...
很实用的APS.NET MD5二次加密方法
支持aps.net运行环境的小软件 启动WebServer程序,选择ASPX网站的路径,填写端口号,点运行即可。 程序如果放在网站目录运行,可不用选择路径。默认会按程序所在路径为网站根目录。 2010.7.22更新,增加端口占用判断...
MVC4.0完全教程,ASP.NET MVC4.0完全教程,适合初学者入门。
asp.net实用开发宝典,高清pdf文档,适合入门
一套简单的OA系统,带流程引擎、权限设置等基本功能。 采用APS.net(C#)开发,数据库采用SQL Server,内含sql文件,支持navicat导入。
FineUI在vs2017中的配置,里面有官网一个现成的框架,初学者不会配置的可以看看
该项目有两个dome 注释清晰明了,其中一个用微信开发平台的Web端扫码登录演示,一个用微信公平平台授权登录
此新闻发布系统使用asp.net编写 ,设计完善,前台和后端功能都有实现
数据库代码在DB文件夹,sql.txt 执行! sql server 2000 数据库 联系qq : 147420157 ! TNND 刚刚写了很多介绍的,结果一点点错了..... 前台是我做的,后台我组上的组员做的,做的不怎么好,希望大家给点鼓励。谢谢!
aps.net ASPxGridView 自动生成序号列