Je génère un menu avec un contrôle Repeater lié à un XmlDataSource. Je voudrais être en mesure de définir le style du LI contenant en fonction des événements mouseover et l'élément de menu actuellement sélectionné. J'ai essayé via le HtmlGenericControl, mais je reçois une erreur qu'il est en lecture seule.ASP.NET: Définition du style d'un élément HTML par programme
protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HyperLink hrefCurrentMenuLink = e.Item.FindControl("hrefMenuItem") as HyperLink;
HtmlGenericControl l_genericControl = e.Item.FindControl("liMenu") as HtmlGenericControl;
if ((hrefCurrentMenuLink != null) && (l_genericControl != null))
{
string l_currentPage = GetCurrentWebPage();
if (String.Compare(Path.GetFileNameWithoutExtension(hrefCurrentMenuLink.NavigateUrl), l_currentPage, StringComparison.OrdinalIgnoreCase) == 0)
l_genericControl.Style = "on-nav";
else
l_genericControl.Style = "off-nav";
l_genericControl.Attributes.Add("onmouseover", "navOn(this)");
l_genericControl.Attributes.Add("onmouseout", "navOff(this)");
}
}
}
Y at-il un moyen d'accomplir cela?
Il semble que je ne peux pas accéder à la propriété CssClass. – Bullines
Êtes-vous capable d'utiliser un asp: listitem dans votre modèle d'élément (au lieu d'un li)? –
Un élément de liste est-il possible si la liste à puces est démarrée dans le modèle d'en-tête? – Bullines