首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮时UpdateProgress不显示

单击按钮时UpdateProgress不显示
EN

Stack Overflow用户
提问于 2012-03-24 03:05:42
回答 1查看 957关注 0票数 1

我在UpdatePanel中有一个UpdatePanel,我有"li“和"href”用于导航到另一个页面。在UpdatePanel之后,我有了更新进度,但当单击"li“时它不起作用。我在我的代码中为不同类型的UpdatePanels使用了UpdateProgress,它都可以工作,唯一我不能工作的事情是,如果单击按钮或"li“"href”,它不会加载图像。这是我的代码,我遗漏了什么?

代码语言:javascript
复制
<asp:UpdatePanel ID="upnavcontainer" runat="server">
    <ContentTemplate>
        <div id="navcontainer" 
            style="border-style: outset; border-width: thin; background-color: #663300; height: 30px; ">                
            <ul id="navlist" runat="server">
                <li runat ="server" id="Home" >
                    <a href='<%= ResolveUrl("~/Default.aspx") %>' title="Home"><span>Home</span></a></li>            
            <%
                if (_ApplicationAccess("Diabetes")) {
                %>
                <li runat ="server" id="Diabetes">
                    <a id="current" href='<%= ResolveUrl("~/Home/Home.aspx") %>' title="Diabetes"><span>Diabetes</span></a></li> 
                <%
                }
            %>     
            <%
                if (_ApplicationAccess("Dashboard")) {
                %>
                <li runat ="server" id="Dashboard">
                    <a href='<%= ResolveUrl("~/Dashboard/Default.aspx") %>' title="Dashboard"><span>Dashboard</span></a></li> 
                <%
                }
            %>       
            </ul>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>
<asp:updateprogress associatedupdatepanelid="upnavcontainer" id="upProgessNav" runat="server">
    <progresstemplate>
        <div id="progressBackgroundFilter"></div>
        <div id="processMessage">
                <img alt="Loading" src="App_Themes/Sugar2006/images/ajax-loader.gif" />
        </div>
    </progresstemplate>
</asp:updateprogress>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-24 08:46:56

代码语言:javascript
复制
What am I missing?

这里的问题是,您使用UpdatePanel内部的<%= %>在网页上直接写入。

当您使用UpdatePanel时,更新需要全部在后台代码上完成,否则会失败,原因是在回发时,他只能运行后台代码,并且只能通过这种方式进行呈现更新。

因此,要使其正常工作,请删除页面的aspx部分上的<%= %>逻辑,并将其更改为您在后台代码上呈现的文字。

例如:将此部分全部替换为

代码语言:javascript
复制
 <%
   if (_ApplicationAccess("Diabetes")) {
  %>
   <li runat ="server" id="Diabetes">
      <a id="current" href='<%= ResolveUrl("~/Home/Home.aspx") %>' 
         title="Diabetes"><span>Diabetes</span></a></li> 
  <%
  }
 %>     

使用

代码语言:javascript
复制
<asp:literal run="server" id="txtDiabetes" />

和后面的代码。

代码语言:javascript
复制
if (_ApplicationAccess("Diabetes")) {
    // render here the output
    txtDiabetes.Text = string.format("<li id=\"Diavetes\" ..... >", ResolveUrl("~/Home/Home.aspx"));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9845088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档