原文地址:http://www.sufeinet.com/thread-4564-1-1.html

这个问题我相信有不少人见过,就是使用系统的分页功能时,或者是使用系统控件,都会有一个回发的功能,

这个功能是asp.net自动管理的,就是为了和我们后台的Cs代码连接起来,

但是有时候这个方法并不会生成,正常情况下在页面的Form下面都会生成如下代码

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>

但是我发现在一些电脑上,也不知道是什么情况就是没有这两个方法,然后就单击按钮或者是分页时就提示如下

这很明显就是 __doPostBack方法不存在,

我就奇怪了,为什么呢?

而且在这个电脑上的所有浏览器都有一样,IE678 火狐,Google,等都是同样的效果。

着实让人郁闷,所以来博客园请教一下大家看看这种问题应该怎么解决了,

我到是想到一个比较次的方法,只能是在没有找到解决方案之后应的急

代码如下

 <script type="text/javascript">
function SetdoPostBack() {
var html = document.body.innerHTML;
if (html.toLowerCase().indexOf("dopostback") < 0) {
var sb = "<script type=\"text/javascript\">";
sb = sb + "//<![CDATA[";
sb = sb + "var theForm = document.forms['form1'];";
sb = sb + "if (!theForm) {";
sb = sb + " theForm = document.form1;";
sb = sb + "}";
sb = sb + "function __doPostBack(eventTarget, eventArgument) {";
sb = sb + " if (!theForm.onsubmit || (theForm.onsubmit() != false)) {";
sb = sb + " theForm.__EVENTTARGET.value = eventTarget;";
sb = sb + " theForm.__EVENTARGUMENT.value = eventArgument;";
sb = sb + " theForm.submit();";
sb = sb + " }";
sb = sb + "}";
sb = sb + "//]]>";
sb = sb + "<\/script>";
document.write(sb);//大家不要管这个,这只是一个输出,正常情况下我是添加到一个Div里的,这里是为了方便查看
}
}
setTimeout('SetdoPostBack()', 2000);//2秒之后开始检查

上面的方法要用的话还需要加上两个属性不光是这两个方法没有生成,

__VIEWSTATE等几个hidden控件,因为这个是自动生成的。可这些的生成规则实在是不好处理,不过我发现只要VIEWSTATE有的话另外的两个,只要是生成了,值为Null也不会影响的。

不过这也只是应个急。

还没有想到更好的办法。

希望大家帮忙啊。

根据我的分析,会不会是在某些Ip上在运营商或者是什么地方给屏蔽了一些东西,才使页面不会生成这个方法的。

如果说是浏览器问题那可以排除了,因为我能测试的都测试了,

这问题也不是全部都有,就是有那么几个用户的电脑。

。。。。。。。。

原文地址:http://www.sufeinet.com/thread-4564-1-1.html

asp.net关于页面不回发的问题,寻求完美解决方案的更多相关文章

  1. asp.net关于页面不回发,不生成__doPostBack方法问题的完美解决方案

    1.有可能是使用net4.0+iis6之后没有打补丁.解决办法在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Coo ...

  2. 转:运行page页面时的事件执行顺序及页面的回发与否深度了解

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  3. 解决ASP.NET页面回车回发的问题

    在asp.net页面中在文本框.按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValu ...

  4. asp.net 回发或回调参数无效的各种情况分析及解决办法

    昨天,在实现级联菜单的时候,突然出现一下错误: 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中 ...

  5. 关于asp.net中页面事件加载的先后顺序

    一.ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件 ...

  6. FineUIMvc随笔 - 不能忘却的回发(__doPostBack)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户反馈 有网友在官方论坛抛出了这么一个问题,似乎对 FineUIMvc 中的浏览器端与服务器端的交互方式很有异议. 这里面的关 ...

  7. FineUIMvc随笔(3)不能忘却的回发(__doPostBack)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户反馈 有网友在官方论坛抛出了这么一个问题,似乎对 FineUIMvc 中的浏览器端与服务器端的交互方式很有异议. 这里面的关 ...

  8. FineUI小技巧(6)自定义页面回发

    前言 FineUI中的绝大部分回发事件都是由控件触发了,比如按钮的点击事件,下拉列表的改变事件,表格的排序分页事件.但有时我们可能会要自己触发页面回发,这时就要知道怎么使用 JavaScript 来做 ...

  9. 在 ASP.NET 网页中不经过回发而实现客户端回调

    一.使用回调函数的好处 在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或执行导致回发的一些其他操作.此时将重新创建页及其控件,并在服务器上运行页代码,且新版本的页被呈现到浏览器.但是, ...

随机推荐

  1. js中实现字母大小写转换

    js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase  2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现 ...

  2. 短信转发Q群

    ※◆☆★☆◆※欢迎使用!!!如有问题或新功能需求请联系作者QQ:82850696*4*您使用的测试版已到期,如需继续使用,请联系作者 QQ : 82850696*0*2015-1-7 23:59:59 ...

  3. StyleCop源码分析

    前言: 由于最近在进行项目配置,配置内容:根据一个结构体,一一对应地配置xml文件(两个) 写一个和此结构体对应的类(只包含属性,字段).反复配置后,觉得太繁琐,因此想到使用程序完成自动配置,网上搜索 ...

  4. 如何断开所有SQL Server所有的连接

    方法1: 执行以下脚本 01.declare   @sql   varchar(100) 02.  03.while   1=1 04.begin 05.  06.select   top   1   ...

  5. hdu 1231

    最大连续子序列 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Statu ...

  6. Git命令行初体验

    1. git 版本控制系统 ==============运行环境======== 系统:windows git : Git-1.7.3.1-preview20101002.rar  下载地址:http ...

  7. 如何使用grunt工具

    本文来源于同事的笔记,也是在网上查找的资料,记录分析的特别详细,对初学者来说简直不能再通俗易懂了,感谢原作者! 1.前言 选择Grunt原因 管理我们的文件依赖 随心所欲的批处理任务 整合常用的前端工 ...

  8. Ubuntu远程开机 (Wake on Lan)

    启动者(A) 被远程开启者(B) 一.被远程开启的电脑(电脑B):1. 重新开机,并进到BIOS设定2. 把Wake On Land / Wake On PCI(E)设为Enable3. 储存并进入U ...

  9. 数据库知识整理<六>

    聚合函数与分组 6.1使用聚合函数进行数据统计: 聚合函数常见的有以下几种: count:返回该结果集中行的数目. sum:返回结果集中所有值的总和. avg:返回结果集中所有值的平均值. max:返 ...

  10. APUE1

    [APUE]进程控制(上)   一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是in ...