我有以下UpdateProgress:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="updCampos"
DynamicLayout="true">
<ProgressTemplate>
<div class="carregando">
<span id="sAguarde">Aguarde ...</span> <asp:Image ID="Image1" runat="server" ImageUrl="~/images/loading.gif" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
我需要更改嵌入“sAguarde”范围内的文本“Aguarde ...”内容后面的代码,但我不知道如何访问此范围。语言是C#。
非常感谢你的帮助。
答案 0 :(得分:7)
只需使用Label更改<span>
控件,如下所示 -
<asp:Label id="sAguarde" Text="Aguarde ..." runat="server" />
并从代码隐藏中访问它,如下所示 -
Label progressMessageLabel = UpdateProgress1.FindControl("sAguarde") as Label;
if (progressMessageLabel != null)
{
progressMessageLabel.Text = "something";
}
答案 1 :(得分:4)
您可以将范围更改为服务器端控件:
<span id="sAguarde" runat="server">Aguarde ...</span>
然后你可以从代码隐藏中访问它:
protected override void Render(HtmlTextWriter writer)
{
if (update) // globally declared update boolean to check if the page is being updated
{
HtmlGenericControl sAguarde = (HtmlGenericControl) UpdateProgress1.FindControl("sAguarde");
sAguarde.InnerHTML = "Hi";
}
base.Render(writer);
}
但请注意,span的id将使用ASP.NET控件命名约定进行呈现。
有关完整背景信息,请参阅:Changing the contents of the UpdateProgress control