将脚本添加到ScriptManager时,ASP.Net UpdateProgress会中断

时间:2013-11-15 19:42:58

标签: javascript asp.net mootools scriptmanager updateprogress

我在使用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可以正常工作!

编辑 - 由于Nathan提供的指针,问题解决了。 Mootools和MS AJAX之间确实存在冲突。这是因为Mootools core / more中的声明为“Type”,它被MS AJAX覆盖。幸运的是,它可以被广告 通过将声明从“类型”更改为其他内容。我找到了解决方案HERE,在'Scott'的帖子下,名字BTW;)。

我采取的步骤是:

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

1 个答案:

答案 0 :(得分:0)

这可能与mootools与asp.net ajax打得不好有关。本文可能会帮助您:asp.net forums on mootools not working with asp.net ajax