【问题标题】:Accessing a Master page Control from a separate Class从单独的类访问母版页控件
【发布时间】:2009-05-24 14:34:17
【问题描述】:

我一直在阅读有关母版页的其他问题,但我没有看到任何完全有我正在寻找的答案的问题,所以...

我有一个母版页。我在母版页上有一个控件(控件 A)。我有一个特定的内容页面,我想禁用(控件 A)和启用(控件 B)。

我不想在内容页面上执行此操作,而是想在站点中使用的静态实用程序类中执行此操作。原因是我们在网站上有 4 个不同的部分,它们使用 4 个不同的母版页。我正在尝试创建一个静态方法来接收母版页和控件的名称,然后交换控件。

我不太清楚如何从单独的类中引用母版页。

【问题讨论】:

    标签: c# master-pages


    【解决方案1】:

    我不认为你能做到这一点......大概你想要类似的东西

    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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 2016-02-27
      相关资源
      最近更新 更多