У меня есть CSS, который управляет моими гиперссылками asp:LinkButton, и я хочу узнать, как я могу установить свойство WebControl's CssClass для текущей страницы всякий раз, когда загружается MasterPage.Назначить CssClass LinkButton в MasterPage
Эти asp:LinkButton гиперссылок на MasterPage содержатся в списке:
<ul id="menu">
<li class="sprite">
<asp:LinkButton ID="linkButton1" runat="server" PostBackUrl="~/linkButton1.aspx">
<span>link 1</span>
</asp:LinkButton>
</li>
<li class="sprite">
<asp:LinkButton ID="linkButton2" runat="server" PostBackUrl="~/linkButton2.aspx">
<span>link 2</span>
</asp:LinkButton>
</li>
<li class="sprite">
<asp:LinkButton ID="linkButton3" runat="server" PostBackUrl="~/linkButton3.aspx">
<span>link 3</span>
</asp:LinkButton>
</li>
</ul>
В MasterPage я попытался установить CssClass используя событие Page_Load:
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
linkButton1.CssClass = "";
linkButton2.CssClass = "";
linkButton3.CssClass = "";
string linkButtonID = Request.RawUrl;
if (-1 < linkButtonID.IndexOf("linkButton2")) {
linkButton2.CssClass = "active";
} else if (-1 < linkButtonID.IndexOf("linkButton3")) {
linkButton3.CssClass = "active";
} else {
linkButton1.CssClass = "active"; // default
}
}
}
Мой CssClass="active"
не появляется чтобы быть установленным, и, глядя на источник страницы, быстро проверяет, что ни один из моих элементов управления LinkButton не имеет свойства CssClass.
Поскольку это трудно представить, я собрал jsFiddle. Сайт не поддерживает ASP, но это может помочь вам визуализировать то, что я пытаюсь сделать:
http://jsfiddle.net/jp2code/kZQwC/
Как бы я получить мою активную страницу, чтобы установить CssClass?
Переместить код на событие Page_Init и дайте мне знать, если это решит проблему – TheGeekYouNeed