0
我有一个listview和它的ItemTemplate,一个包含一些控件的asp:面板。 我需要将三个不同的css类应用于asp:面板,具体取决于我的asp:面板中某个控件的值。如何将不同的CSS类应用于不同ItemTemplate中的asp:面板?
这里是我的代码:
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
HiddenField type = (HiddenField)e.Item.FindControl("valueOfAd_type");
HiddenField paid = (HiddenField)e.Item.FindControl("valueOfPayment");
Panel ThePanel = (Panel)e.Item.FindControl("Panel1");
if (paid.Value == "2")
{
if (type.Value == "1") //First condition
{
ThePanel.Attributes.Add("class", "whiteBackground");
}
else if (type.Value == "2") //Second condition
{
ThePanel.Attributes.Add("class", "redBackground");
}
}
else //third condition
{
ThePanel.Attributes.Add("class", "blueBackground");
}
}
}
问题是,无论哪个条件出现时,总是最后一个CSS类将适用于所有我的asp:面板。 现在我的问题是如何将不同的css类应用于不同的ItemTemplate中的asp:面板?
您应该为您的ItemTemplate添加交替项目。你为什么不尝试这种比较:'String.Compare(type.Value,“2”)== 0)'?此外,该面板应该具有“CssClass”属性,供您添加到控件中。 – Greg