quarta-feira, setembro 04, 2013

Manipular o atributo Class de um elemento HTML do lado servidor no Asp.Net

HI,

Precisei adicionar uma classe a uma tag li de acordo com o tipo de um determinado campo em um componente de repetição do Asp.Net.

Exemplo: Se o campo tivesse valor F o class deveria ser comment senão deveria ser comment reply.

Na parte visual coloquei a tag li como sendo runnet="server"
< li id="li_tipo_resposta" runat="server" >

E no ItemDataBound do controle Repeater coloquei esse código

protected void repeatRespostas_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        string _tipo_resposta = Convert.ToString(DataBinder.Eval(e.Item.DataItem, "tipo_resposta"));
        if (_tipo_resposta.Equals("F"))
        {
            ((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment");
        }
        else
        {
            ((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment reply");
        }
    }
}

A tag é localizada e seu atributo Class é adicionado.


Implementei esse código com base nessa página

C# - How to change HTML elements atributes
http://stackoverflow.com/questions/186918/c-sharp-how-to-change-html-elements-attributes/10795178#10795178


Fiquem na Paz!!!!

Nenhum comentário: