function my_page_start_onload() {
if (__doPostBack) { // Error: '__doPostBack' is undefined
...
}
}
window.onload = my_page_start_onload();
我尝试了很多方法,但没有运气。
浏览器定义已更新(aspnet_regiis.exe -i和iisreset) - >见http://forum.jdp.tw/thread-1552-1-1.html - >将浏览器定义添加到C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ CONFIG \ Browsers \ ie.browsers - > RUN C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_regbrowsers.exe -i - > RUN iisreset - >仍然是错误
尝试安装hotfix,但发生错误The update is not applicable to your computer
尝试安装.NET Framework,但发生错误The update is not applicable to your computer
VS2012 with .NET 4.5使用空白页运行此功能,仍然是错误
所有版本的IE5-11,仍然是错误
备注:
InternetExplorer
11.0
计算机环境
非常感谢您的帮助!
答案 0 :(得分:0)
如果您的页面包含一些需要回发的控件,则.NET会自动为您生成回发功能,但通常不会导致回发。考虑一个提交按钮 - 它会导致postack,但不需要额外的js代码,因为它设计用于引发回发。但是,像linkbutton(渲染为锚点)或下拉列表这样的控件通常不会导致回发,这就是asp.net为它们生成__postback函数的原因。因此,为了强制asp.net生成_postback函数,您可以向页面添加一些虚拟控件,或者您可以使< form>标记runat = server或者如果你想在每个页面都包含__postback函数,无论它们有什么控制,你都可以在你的母版页Page_Load事件中执行这个函数:
ClientScript.GetPostBackEventReference(this, "");