我一直在阅读有关母版页的其他问题,但我没有看到任何我想要的答案,所以......
我有一个母版页。我在母版页上有一个控件(控件A)。我有一个我要禁用的内容页面(控制A)和启用(控制B)。
我想在内容页面上执行此操作,而不是在网站中使用的静态实用程序类中执行此操作。这样做的原因是我们在网站上有4个不同的部分,使用4个不同的母版页。我正在尝试创建一个静态方法,接收主页面和控件的名称,然后交换控件。
我无法弄清楚如何从单独的类中引用母版页。
答案 0 :(得分:2)
我认为你不能这样做......大概你想要像
这样的东西public static void DoWork (string masterPageName)
{
//Code to find instance of masterpage...
}
由于没有实例,您将无法从静态类中执行此操作。您需要在外部找到它并将实际的母版页对象传递给静态方法。
我真的不明白为什么有必要在实用程序类中执行此操作,但是如果它特定于您的某个内容页面。如果它对你的许多内容页面都是通用的,那么考虑创建一个你的内容页面可以扩展的basePage类......例如。
public class BasePage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(this.Master != null)
if(this.Master.FindControl("Control A") != null)
//Disable Control A
//Enabled Control B
}
}