我在datalist的面板中有标签,我在item databound中为datalist添加了代码,如果特定条件代码工作得很好,我会找到标签,但是cssclass没有在label上做任何动作。我不知道是什么是错的?
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
string LanguageID = Globals.GetSuitableLanguage(Page);
Label lbl = e.Item.FindControl("LblText") as Label;
Panel Pnl = e.Item.FindControl("pnlModal") as Panel;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LblHead = e.Item.FindControl("Label1") as Label;
}
if (LblHead != null && LanguageID == "ar")
{
LblHead.Attributes.Add("CssClass", "hed_logo2");
}
}
答案 0 :(得分:0)
CssClass是asp.net运行时调用应用于元素的css类的内容。但是,当您使用Attributes
集合时,您将直接将值发送到元素的HTML。
在大多数情况下,asp.net和属性的html名称相同(名称,标题......),但是存在许多小的差异。应用css类的属性在asp.net中称为CssClass
,在html dom中称为class
。
所以而不是
LblHead.Attributes.Add("CssClass", "hed_logo2");
写一下
LblHead.Attributes.Add("class", "hed_logo2");
这应该解决问题。