ASP.net Ajax UpdatePanel子控件的可见性问题

时间:2011-01-17 12:05:31

标签: asp.net ajax asp.net-ajax updatepanel visibility

我想在方法调用持续时间的开头和结尾更改两个asp.net图像控件(runat =“server”)的可见性。我的意思是,我希望第一个图像显示,第二个图像保持隐藏,直到我的方法的最后一行,这反过来,第二个图像变得可见,第一个图像隐藏。 我已将触发控件的区域放在updatepanel中,并已声明updatepanel的触发器;但是当我按下控件(这是一个按钮)时,过程结束时的图像会正确显示并准时显示,但不显示应该显示在方法第一行的图像。我已将updatepanel配置为使用条件更新模式,并将这些行用于我的意图:

imgLoading.Visible = true;

    ..
    rest of the process
    ..

    if (true)
    {
        imgLoading.Visible = false;
        imgSuccess.Visible = true;
    }

1 个答案:

答案 0 :(得分:2)

您无法切换到从服务器加载的图像,因为所有内容都发生在一个请求中,因此所呈现的内容直到最后才会发生;它永远不会知道加载图像设置为可见true。所以你可以使用JavaScript。

或者由于您使用的是UpdatePanel,请使用UpdateProgress控件,该控件在更新发生时会在更新面板上显示某些内容。这个控件就是为了做到这一点。

请参阅:http://weblogs.asp.net/stoianbucovich/archive/2008/01/30/asp-net-2-0-ajax-update-panel-and-update-progress.aspx

HTH。