这是我MasterPage
中的代码:
<li id="liABOUT" runat="server"><a href="About.aspx">ABOUT</a></li>
当我在另一个引用MasterPage
的页面时,我想向这个li
控件添加一个类,就像这样。无法上班。使用ASP.NET 4.5
Me.Master.FindControl("ContentPlaceHolderMaster").FindControl("LiAbout").Attributes.Add("class", "active")
VB.NET或C#代码没问题
答案 0 :(得分:1)
您可以在MasterPage
:
public String LiAboutClass
{
get { return liABOUT.Attributes["class"]; }
set { liABOUT.Attributes["class"] = value; }
}
在ContentPage
:
var siteMaster = (SiteMaster)this.Master;
if (siteMaster != null) siteMaster.LiAboutClass = "active";
修改:您也可以使用MasterType
。它允许您直接访问MasterTypes
属性。
答案 1 :(得分:0)
这对我有用。我首先将其转换为HtmlGenericControl,然后添加属性。
(Master.FindControl("liABOUT") as HtmlGenericControl).Attributes.Add("class", "active");
答案 2 :(得分:0)
这很有效....
' Get reference to control located on master page
Dim lb As HtmlGenericControl = Page.Master.FindControl("liABOUT")
lb.Attributes.Add("class", "active")