添加 class 到 ASP.NET MasterPage 控件
Add class to ASP.NET MasterPage control
这是我的代码 MasterPage
:
<li id="liABOUT" runat="server"><a href="About.aspx">ABOUT</a></li>
当我在另一个引用 MasterPage
的页面上时,我想向这个 li
控件添加一个 class,就像这样。无法让它工作。使用 ASP.NET 4.5
Me.Master.FindControl("ContentPlaceHolderMaster").FindControl("LiAbout").Attributes.Add("class", "active")
VB.NET 或者 C# 代码就可以了
您可以在 MasterPage
中创建 public 属性 :
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
属性。
这对我有用。我首先将其转换为 HtmlGenericControl 然后添加属性。
(Master.FindControl("liABOUT") as HtmlGenericControl).Attributes.Add("class", "active");
这有效....
' Get reference to control located on master page
Dim lb As HtmlGenericControl = Page.Master.FindControl("liABOUT")
lb.Attributes.Add("class", "active")
这是我的代码 MasterPage
:
<li id="liABOUT" runat="server"><a href="About.aspx">ABOUT</a></li>
当我在另一个引用 MasterPage
的页面上时,我想向这个 li
控件添加一个 class,就像这样。无法让它工作。使用 ASP.NET 4.5
Me.Master.FindControl("ContentPlaceHolderMaster").FindControl("LiAbout").Attributes.Add("class", "active")
VB.NET 或者 C# 代码就可以了
您可以在 MasterPage
中创建 public 属性 :
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
属性。
这对我有用。我首先将其转换为 HtmlGenericControl 然后添加属性。
(Master.FindControl("liABOUT") as HtmlGenericControl).Attributes.Add("class", "active");
这有效....
' Get reference to control located on master page
Dim lb As HtmlGenericControl = Page.Master.FindControl("liABOUT")
lb.Attributes.Add("class", "active")