Como alterar programaticamente um intervalo de texto dentro de uma ProgressTemplate em C#?

StackOverflow https://stackoverflow.com//questions/22016603

Pergunta

Eu tenho o seguinte UpdateProgress:

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="updCampos"
    DynamicLayout="true">
    <ProgressTemplate>
        <div class="carregando">
            <span id="sAguarde">Aguarde ...</span>&nbsp;&nbsp;<asp:Image ID="Image1" runat="server" ImageUrl="~/images/loading.gif" />
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

Eu preciso alterar o código por trás do texto "Aguarde..." de conteúdo que eu aninhado dentro do "sAguarde" span, mas não sei como acessar este período.A linguagem é C#.

Muito obrigado pela ajuda.

Foi útil?

Solução

Basta alterar a sua <span> controle com Etiqueta da seguinte forma-

<asp:Label id="sAguarde" Text="Aguarde ..." runat="server" />

e acessá-lo a partir de code-behind da seguinte forma-

Label progressMessageLabel = UpdateProgress1.FindControl("sAguarde") as Label;
if (progressMessageLabel != null)
{
    progressMessageLabel.Text = "something";
}

Outras dicas

Você pode alterar o intervalo para um serverside de controle:

<span id="sAguarde" runat="server">Aguarde ...</span>

Em seguida, você pode acessá-lo a partir de code-behind:

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);
}

Mas note-se que a extensão do id vai ser processado utilizando o ASP.NET controle de convenções de nomenclatura.

Por todo o contexto, veja: Alterar o conteúdo do controle UpdateProgress

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top