Asp.net 在加载母版页时禁用usercontrol

Asp.net 在加载母版页时禁用usercontrol,asp.net,Asp.net,我在一些页面上使用母版页。母版页正在加载用户控件。因此,我想禁用或启用一些页面加载,其中有母版页的用户控制 是否仍可以禁用母版页上的用户控制?加载() 母版页加载() { //检查某些条件是否为真 ctrlname.visible=true; } 但问题是我无法获取用户ctrl的实例,简而言之,ctrlname始终为空。要在子页面上禁用它吗?您可以在Page_Load()方法中执行以下操作: 你的问题有点难理解,但我认为你想要的是这样的: public partial class Sit

我在一些页面上使用母版页。母版页正在加载用户控件。因此,我想禁用或启用一些页面加载,其中有母版页的用户控制



是否仍可以禁用母版页上的用户控制?加载()



母版页加载()
{
//检查某些条件是否为真
ctrlname.visible=true;
}

但问题是我无法获取用户ctrl的实例,简而言之,ctrlname始终为空。

要在子页面上禁用它吗?您可以在Page_Load()方法中执行以下操作:


你的问题有点难理解,但我认为你想要的是这样的:

public partial class Site1 : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page is WebForm1 || Page is WebForm2)
        {
            webUserControl11.Visible = false;
        }
    }
}
或者,您可以在页面上实现指示此行为的接口。大致如下:

public partial class Site1 : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ISpecialPage specialPage = Page as ISpecialPage;

        if (specialPage != null && specialPage.ShouldDisableUserControl)
            webUserControl11.Visible = false;
    }
}

public interface ISpecialPage
{
    bool ShouldDisableUserControl { get; }
}

用户控件在母版页中未声明为局部变量。您需要使用FindControl()函数获取对该控件的引用

下面是一个工作示例:

Dim userControl As WebControl = ContentPlaceHolder1.FindControl("someControl")
If userControl IsNot Nothing Then
   CType(userControl, WebControl).Enabled = False
End If

我是否可以禁用母版页上的用户控件?加载()您可能必须从内容占位符的上下文中使用FindControl(),并查找特定的用户控件。主机页上的usercontrols没有启用的属性。您的问题完全不清楚。您需要详细说明和描述页面设置,并解释希望在哪些页面上禁用控件。如果可能,请给出一个简化的代码示例。
public partial class Site1 : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ISpecialPage specialPage = Page as ISpecialPage;

        if (specialPage != null && specialPage.ShouldDisableUserControl)
            webUserControl11.Visible = false;
    }
}

public interface ISpecialPage
{
    bool ShouldDisableUserControl { get; }
}
Dim userControl As WebControl = ContentPlaceHolder1.FindControl("someControl")
If userControl IsNot Nothing Then
   CType(userControl, WebControl).Enabled = False
End If