【问题标题】:__doPostBack does not work__doPostBack 不起作用
【发布时间】:2016-02-16 09:14:40
【问题描述】:

我有一个母版页,并且在此页中__doPostBack不会触发回帖。但是我有另一个 __doPostBack 可以工作的母版页,似乎一切都与这个其他母版页相同,但 __doPostBack 毕竟不起作用......

这可能是什么原因?

<%@ Master Language="VB"  AutoEventWireup="false" CodeBehind="xx.master.vb" Inherits="MyProject.xx" %>

<asp:Button type="button" ID="btnSwitchLanguage" Style="display: none" runat="server" />

__doPostBack("<%= btnSwitchLanguage.UniqueID %>", lang_id);


Private Sub btnSwitchLanguage_Click(sender As Object, e As EventArgs) Handles btnSwitchLanguage.Click
    'Do Something
End Sub

【问题讨论】:

  • 你试过Page.GetPostBackEventReference(btnSwitchLanguage)吗?
  • 实际上在这个页面中没有一个回发工作..它甚至没有刷新页面。

标签: asp.net vb.net dopostback


【解决方案1】:

你有没有尝试将代码放在这样的函数中:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="postBack();return false;"/>
        <script type="text/javascript" language="javascript">
            function postBack(){
                var btnName = $get("<%=Btn2.ClientID%>").name;
                __doPostBack(btnName,"");
            }
        </script>

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    这太奇怪了,但我解决了这个问题。

    原因如下:

    在我们覆盖 __doPostBack 函数的项目中,我没有注意到它。但是在另一个母版页中,它被覆盖得很好,而我正在谈论的不是。

    在另一个母版页中,__doPostBack 函数将变成这样:

    __doPostBack(Param1, Param2)
    {
        var theform;
        if (window.navigator.appName.toLowerCase().indexOf('netscape') > -1)
        {
            theform = document.forms['aspnet…
    

    但我正在处理的主人:

    __doPostBack()
    {
       return;
    }
    

    这很奇怪,因为javascript的顺序也一样!

    无论如何,我阻止 __doPostBack 被覆盖并解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-09
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多