__doPostBack 无效

__doPostBack does not work

我有一个母版页,在这个页面中 __doPostBack 不会触发 post 返回。但是我有另一个 __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

你有没有试过把代码放在这样的函数中:

<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>

希望对您有所帮助。

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

原因如下:

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

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

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

但在我处理的 master 中:

__doPostBack()
{
   return;
}

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

总之,我防止__doPostBack被重写,问题就解决了。