AJAX调用 ASP.net 本地文件系统的怪问题
最近开发Ext应用,使用ajax请求数据时,遇到了请求数据以返回,但IE里却无法显示的怪问题。
使用HTTPWatch查看,发现ERROR_INTERNET_CONNECTION_RESET。
使用FireFox和google浏览器都没有问题,网上查找说网站放在IIS上没有问题,试验后证明有效。
但同事开发用机大部分都是XP系统,有部分还是HOME版,因此该问题必须找到原因解决才行。发现POST请求改为GET请求也不会出这个问题。
再进一步的大胆假设,小心求证。
在ProcessRequest最后增加
context.Request.InputStream.ReadByte();
后问题彻底解决
这证明了我之前的假设
情况可能是由于使用文件方式系统的网站,调试运行时使用的是ASP.NET Development Server而非IIS,因此运行机制上与IIS存在不同。
检查代码发现,处理该请求时,只获取了URL上的部分内容,并未对POST内容部分进行获取。
此时可能ASP.NET Development Server并未从IE链接过来的Socket中读取剩余部分,而程序处理完成后服务器端发送结果完成后该Socket链接断掉,而IE认为数据还没有发送完因此报了ERROR_INTERNET_CONNECTION_RESET错误。
相关文档:
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......
ASP.NET3.5可以很简答的实现一个很有用的功能,既跨页面传送,
传统的提交窗体只会将窗体提交给它自己。而跨页面的提交,
会将page1的内容传送个page2,并在page2中使用page1中的控件。
① 跨页面传递的简单实现
页面一(Default.aspx)中的控件
<a ......
方法一:
function document.onkeydown()
{
if(event.keyCode==13)
{
document.form1.all.Submit.click(); //这里的submit是按钮的ID
}
}
方法二:
......
1. 跟以前一样做界面,只是注意,把所有需要有多语言界面的文字都用label来做
2. 做完以后,在Solution Explorer里选中这个文件,选Tools->Generate Local Resource
3. 你会发现生成了一个目录,App_LocalResources;这个目录里多了一个resx的文件。比如你的aspx文件是default.aspx,它就会生成一个叫做de ......
这篇教程探讨ASP.NET MVC控制器,控制器action和action result。完成此教程后,你会懂得控制器如何被用来控制访问者与ASP.NET MVC网站的交互方式。
理解控制器
MVC 控制器负责对ASP.NET MVC网站的请求作出回应。每一个浏览器请求都被映射到一个特定的控制器。例如,想象你在浏览器地址栏输入以下URL:
http://localhost/P ......