Знаете ли вы тип найденного элемента управления? Ни Control , ни ListItem не предоставляют свойство CssClass, однако ListItem действительно предоставляет его свойство Attributes.
Обновление на основе комментариев и другой вопрос :
Вы должны использовать System.Web.UI.HtmlControls.HtmlGenericControl
Так что-то вроде этого должно работать для вас:
HtmlGenericControl home =
this.Page.Master.FindControl("list").FindControl("home")
as HtmlGenericControl;
string cssToApply = "active_navigation";
if (null != home) {
home.Attributes.Add("class", cssToApply);
}
Если вы думаете, что уже может быть назначен класс, который вам нужно добавить, вы можете сделать что-то вроде:
if (null != home) {
if (home.Attributes.ContainsKey("class")) {
if (!home.Attributes["class"].Contains(cssToApply)){
// If there's already a class attribute, and it doesn't already
// contain the class we want to add:
home.Attributes["class"] += " " + cssToApply;
}
}
else {
// Just add the new class
home.Attributes.Add("class", cssToApply);
}
}
Если они не являются ListItems, приведите их к правильному типу и измените коллекцию атрибутов, как раньше, если только для этого типа нет свойства CssClass.