【问题标题】:ASP.Net UpdateProgress breaks when scripts are added to ScriptManager将脚本添加到 ScriptManager 时,ASP.Net UpdateProgress 中断
【发布时间】:2013-11-15 19:42:57
【问题描述】:

我在使用 ASP.Net 中的 UpdateProgress 和 ScriptManager 时遇到问题。在 ScriptManager 中注册脚本时,UpdateProgress 无法显示(内联 CSS 属性 | display:none;)。我还使用此方法在页面加载方法下以编程方式注册了脚本ASP.NET 4.5 ScriptManager Improvements in WebForms,但仍然失败。在此先感谢:)。

aspx:

<asp:ScriptManager ID="scriptManager" runat="server">            
            <Scripts>
                <asp:ScriptReference Path="~/js/mootools-core-1.4.5.js" />
                <asp:ScriptReference Path="~/js/mootools-more-1.4.0.1.js" />
            </Scripts>
        </asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                    <ContentTemplate>
                        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 
                        <div id="panel2Div" runat="server"></div>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="Button1" />
                    </Triggers>
                </asp:UpdatePanel>
                <asp:UpdateProgress ID="UpdateProgress1" runat="server">
                    <ProgressTemplate>
                        <p>Doing Stuff....</p>
                    </ProgressTemplate>
                </asp:UpdateProgress>

代码背后:

protected void Button1_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(3000);
            panel2Div.InnerHtml = "Updated Panel 2";
        }

如果在 ScriptManager 中删除了 Script/ScriptReference 标签,UpdateProgress 就可以工作了!

EDIT - 由于 Nathan 给出的指针,问题得以解决。 Mootools 和 MS AJAX 之间确实存在冲突。这是因为 Mootools 核心/更多中的声明“类型”被 MS AJAX 覆盖。幸运的是,它可以被宣传 通过将声明从“类型”更改为其他内容。我在“Scott's”帖子下找到了解决方案HERE,顺便说一句;)。

我采取的步骤是:

  1. 打开你的 Mootools 核心和更多文件(我用的是 VS2012,但是 Notepad++ 应该可以正常工作)
  2. 查找 (CTRL+F)“新类型”并替换为“新 mooTools”
  3. 查找(CTRL+F)“this.Type”并替换为“this.mooTools”
  4. 查找 (CTRL+F)“类型”并替换为“mooTools”
  5. 确保对两个文件都执行此操作(除非您只使用核心)

非常感谢 Nathan 和“Scott”帮助我。

【问题讨论】:

  • 我忘了提到我在所有浏览器(IE、Chrome、FF、Nightly)中都测试了这个并且工作正常。

标签: javascript asp.net mootools scriptmanager updateprogress


【解决方案1】:

这可能与 mootools 不能很好地与 asp.net ajax 有关。这篇文章可能会对你有所帮助:asp.net forums on mootools not working with asp.net ajax

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    相关资源
    最近更新 更多