C# 在C中访问类文件中的母版页#
我已在母版页中获得以下内容:C# 在C中访问类文件中的母版页#,c#,asp.net,class,master-pages,C#,Asp.net,Class,Master Pages,我已在母版页中获得以下内容: <ul> <li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li> <li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li> <
<ul>
<li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li>
<li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li>
<li id="link3" runat="server"><a href="Mytest2.aspx">Some Test</a></li>
</ul>
public static void disablecontrol()
{
Master.FindControl("link1").Visible = false;
Master.FindControl("Link3").Visible = false;
}
我在使用“主”字时遇到以下错误
非静态字段、方法、属性“System.Web.UI.MasterPage.master.get”需要对象引用
因为此方法是静态的,所以它无权访问。在页面的实例方法中运行此代码。尝试以下操作:
var pageHandler = HttpContext.Current.CurrentHandler;
if (pageHandler is System.Web.UI.Page)
{
((System.Web.UI.Page)pageHandler).Master.FindControl("...").Visible=false;
}
在
aspx
文件中添加以下指令:
<%@ MasterType TypeName="YorNamespace.YourMasterClass" %>
在aspx.cs
文件中,您可以简单地执行以下操作:
this.Master.disablecontrol();
编辑:它将更改aspx.designer
文件,在this.Master
属性中为您进行转换,如下所示:
/// <summary>
/// Master property.
/// </summary>
/// <remarks>
/// Auto-generated property.
/// </remarks>
public new YorNamespace.YourMasterClass Master {
get {
return ((YorNamespace.YourMasterClass)(base.Master));
}
}
//
///主财产。
///
///
///自动生成的属性。
///
public new.YourMasterClass Master{
得到{
返回((YorNamespace.YourMasterClass)(base.Master));
}
}
更多关于。工作很好,非常感谢。
/// <summary>
/// Master property.
/// </summary>
/// <remarks>
/// Auto-generated property.
/// </remarks>
public new YorNamespace.YourMasterClass Master {
get {
return ((YorNamespace.YourMasterClass)(base.Master));
}
}