c# Ajax IsInAsyncPostBack不工作在Chrome, FF或SAFARI -问题与部分回发

本文关键字:问题 SAFARI FF IsInAsyncPostBack Ajax 工作 Chrome | 更新日期: 2023-09-27 18:05:57

我有一个标准的缩略图库,带有一个轮播来浏览缩略图。我有一组链接,点击时,加载缩略图到旋转木马。在IE中,这工作得非常棒和完美。在Chrome, FF和Safari中,部分回发没有被感知,js没有在asyncpostback上重新加载,因为页面上的jquery都坏了/不工作(即togglefade不工作,单击事件不触发隐藏事件等)

编辑:**在HTML方面,有2个更新面板,一个嵌套在另一个。我添加了HTML代码,这可能会有所帮助。我已经剥离了大部分的页面内容,只留下了更新面板等,所以每个人都可以得到一个想法的html方面的东西。

HTML

        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="updtPnlRedCarpet" runat="server">
            <ContentTemplate>
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>
                                <div id="redCarpetCarousel">
                                    <div class="redCarpet">
                                        <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
                                    </div>
                                </div>
                            </ContentTemplate>
                        </asp:UpdatePanel>
            </ContentTemplate>
        </asp:UpdatePanel>

PAGE_LOAD事件

        if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
        {
           RegisterClientStartupScript();
        }

注册客户端启动脚本代码

    private void RegisterClientStartupScript()
    {
        string path = Page.ResolveUrl("~/Scripts/jquery.msCarousel-min.js");
        ScriptManager sManager = ScriptManager.GetCurrent(this.Page);
        if (sManager != null && sManager.IsInAsyncPostBack)
        {
            ScriptManager.RegisterClientScriptInclude(
               this.updtPnlRedCarpet, typeof(string), "include-js",
               path);
            ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "SliderScript",
               "runTheCarousel();", true);
            ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "ClickScript",
                "loadThePage();", true);
        }
        else
        {
            this.Page.ClientScript.RegisterClientScriptInclude("SliderScript", path);
        }
    }

c# Ajax IsInAsyncPostBack不工作在Chrome, FF或SAFARI -问题与部分回发

好吧,看来FF, Chrome和Safari都不喜欢文档。在javascript函数之前准备好。一旦我删除了文件。ready bits, FF, Chrome和Safari都能够找到这些功能,一切都在宇宙中再次平静。