有一个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这个及其下面的文件放在应用里面,导致这个错误。
分享到:
相关推荐
对于需要实时通信的应用,ASP.NET提供了SignalR库,它允许服务器主动推送消息到客户端,而不仅仅是响应客户端的请求。SignalR基于WebSocket,支持长轮询、Forever Frame等多种回话保持技术。 6. **跨域问题**: ...
非常详细的ASP.NET学习ppt 本人的asp就是根据这个学的 适合初学者学习 附带aps.net+sql web开发介绍
ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现 ASP.NET,该控件于分页,无需写代码实现
【标题】"APS.net(C#) 开发的OA系统"是一个基于.NET框架,利用C#编程语言构建的企业级办公自动化(OA)系统。这个系统具备基础的流程引擎和权限管理功能,旨在提升组织内部的工作效率和协作能力。 【描述】中提到的...
"aps.net无刷新demo"这个项目可能是一个示例,展示了如何在ASP.NET环境中使用Ajax技术来创建一个无刷新的应用。在提供的信息中,我们有两个关键文件:`CallBack.aspx` 和 `CallBack.aspx.cs`。 `CallBack.aspx` 是...
3. **加载 PostBack 数据 (LoadPostData)**:如果页面是从一个表单提交返回的(即发生了回发),此阶段将处理来自客户端的POST数据。控件会检查自身的POST数据并更新其值。只有在此阶段,控件才能获取到用户在表单中...
使用APS.net与SqlServer工具的web站点中, c#与SqlServer通信工具类. 使用该类,可以将直接使用sql语句,将sql语句写在C#类中. 比如:SharedataBase.Instance.Execsql("Insert into Test valus(1,2,3)"); 这是一句C#代码...
PlUpload是一款跨浏览器的文件上传组件,支持HTML5、Flash、Silverlight和Gears等多种上传方式,确保在不同浏览器环境下都能正常工作。PlUpload的关键特性包括: - 多种上传技术:除了HTML5,还支持旧版浏览器的...
很实用的APS.NET MD5二次加密方法
支持aps.net运行环境的小软件 启动WebServer程序,选择ASPX网站的路径,填写端口号,点运行即可。 程序如果放在网站目录运行,可不用选择路径。默认会按程序所在路径为网站根目录。 2010.7.22更新,增加端口占用判断...
MVC4.0完全教程,ASP.NET MVC4.0完全教程,适合初学者入门。
asp.net实用开发宝典,高清pdf文档,适合入门
在ASP.NET框架下,这个在线考试系统可能采用了MVC(Model-View-Controller)架构模式,这是一种流行的设计模式,将业务逻辑、视图呈现和数据控制分离,提高了代码的可读性和可维护性。C#作为后端编程语言,通过ADO...
使用ASP.NET的异常处理机制,可以捕获和处理运行时错误,同时配合日志记录,便于追踪和诊断问题。 9. **部署与扩展** ASP.NET应用可以轻松部署到IIS服务器,支持自动编译和更新。系统设计时应考虑扩展性,以便在...
10. **错误处理与日志记录**:系统需具备完善的错误处理机制和日志记录功能,以便在出现问题时能够快速定位并解决问题。 11. **安全性考虑**:除了身份验证外,还需要关注SQL注入、XSS攻击等安全风险,采取相应的...
在"APS.NET登录,主窗体,基本窗体,授权"这个主题中,我们将探讨如何在ASP.NET环境中实现用户登录系统、主窗体的设计与功能加载,以及窗口授权的概念。 1. **登录界面**: 登录界面是任何应用的第一步,它验证...
**ASP.NET MVC5详解** ASP.NET MVC5 是微软推出的一款基于模型-视图-控制器(Model-View-Controller,MVC)模式的Web应用程序开发框架。这个框架为开发者提供了强大的设计模式,使得构建可维护、可扩展且具有高度...
ASP.NET的三层架构是一种常见的软件开发模式,它将应用程序分为数据访问层、业务逻辑层和表示层,以实现良好的代码组织和职责分离。这个简单的三层结构适用于初学者,有助于理解如何在实际项目中构建可维护和扩展的...
FineUI在vs2017中的配置,里面有官网一个现成的框架,初学者不会配置的可以看看
9. **测试与调试**:在实际项目中,开发者需要对每个功能进行充分的测试,确保在不同环境和情况下都能正常工作。这包括模拟用户登录流程,检查回调处理,以及异常情况的处理。 10. **部署与上线**:完成开发后,...