无论是ASP.NET WebForm 还是 ASP.NET MVC项目,在本地程序测试没问题,但是部署在IIS上访问就会出现 错误: “WebForm_DoPostBackWithOptions”未定义 ,问题出现在如果页面中没有表单验证控件,LinkButton运行后在IE中是调用 __doPostBack(...),如果页面中存在表单验证控件,LinkButton在IE中是调用 WebForm_DoPostBackWithOptions(...),这时如果没有.axd映射会出现问题。当然这也只是一方面的问题。
也有可能是.NET 2.0和.NET 4一起发布的浏览器定义文件中的一个微软的错误,就说LinkButton控件(因为它包含JavaScript回调),在IE9来运行没问题,用IE10来运行就会出现上面说的问题,原因是ASP.NET不知道浏览器版本,也就是统一的降级处理,IE10这个BUG就不多说了,反正如果你用的是.Net 4.5 那就不会出问题,因为微软已经给解决了。下面把解决方案列举出来。聪明的你自己去一个一个试吧!一定可以解决的。
解决方案:
一、检查 IIS上是否添加 .axd 与 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll的映射。
二、去微软网站上下载KB2600088补丁可解决,下载后安装在服务器上。
下载地址: .NET 4 - .NET 2.0 -
三、在需要使用LinkButton控件的页面中不使用验证控件,自己写程序进行验证。 或者将LinkButton的 CausesValidation设为"False",需要进行验证提交尽量使用 Button。 当然了你无
法使用asp.net ajax。