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