• [ASP.NET]LinkButton控件引起的“WebForm_PostBackOptions is not defined"


    你还在用ASP.NET Web Forms吗?如果在用的话,你可要小心了:

    千万不要使用LinkButton控件!

    为什么呢?

    请看ASP.NET代码:

    <asp:LinkButton Text="Post" runat="server" id="lbPost"/>

    请看运行时的页面HTML代码:

    <a id="MainContent_lbPost" href="javascript:__doPostBack(&#39;ctl00$MainContent$Post&#39;,&#39;&#39;)">Post</a>

    问题来了!根据我们遇到的实际情况,某个未知的软件会造成在点击"Post"链接时Javascript代码不能正常执行(可能这个软件是出于安全考虑),引发“WebForm_PostBackOptions is not defined"异常。

    这个问题困扰了我们一个多月,问题是多个用户反馈的。而我们无法重现这个问题,解决起来很棘手,最后,一闪而过的想法才让我们猜测到这个原因。

    解决方法

    弃用asp:LinkButton,改用asp:Button。

    该方法已经通过验证,之前遇到这个问题的用户已经确认问题已解决。

    由于无法重现这个问题,我们无法找出究竟是哪个未知软件引起的。

    小结

    问题很简单,解决方法也很简单,但这个问题的现象不具独特性,很费周折,网上一搜索,满网尽是“WebForm_PostBackOptions is not defined",当时找到的觉得稍微有点价值的是WebResource.axd动态压缩可能会引起这个问题,却让我们误入歧途,浪费了很多时间。在几乎绝望,准备用ASP.NET MVC重写整个页面时,问题的线索一下子蹦了出来。那种感觉你懂的!

    也许从外人看来程序员性格内向、缺乏情趣,可是他们没有看到程序员在解决问题时眼中放出的光芒,他们也不知道程序员内心所经历的精彩世界!

    让他们知道吧,用博客写出程序员的精彩世界!

    推荐阅读

    献给奋战在一线的程序员:关于性格内向者的10个误解

  • 相关阅读:
    1069. Prufer Code 夜
    CROCMBTU 2012, Elimination Round (ACMICPC) D. Restoring Table 夜
    CROCMBTU 2012, Elimination Round (ACMICPC) H. Queries for Number of Palindromes 夜
    1145. Rope in the Labyrinth 夜
    1721. Two Sides of the Same Coin 夜
    1182. Team Them Up! 夜
    1162. Currency Exchange 夜
    1056. Computer Net 夜
    FOJ 2013 A short problem
    Codeforces 11.23
  • 原文地址:https://www.cnblogs.com/cmt/p/webform_postbackoptions_is_not_defined.html
Copyright © 2020-2023  润新知