如何从内容页访问母版页中的用户控件?

发布于 2024-07-10 05:53:02 字数 75 浏览 6 评论 0原文

假设我在母版页中有一个标头用户控件,并且想要根据母版页内加载的内容页来更改用户控件的属性。 我该怎么办?

谢谢!

Lets say that I have a header user control in a master page, and want to change a property of the user control depending on what content page is loaded inside of the master page. How might I go about this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

挽清梦 2024-07-17 05:53:02

您可以使用两种方法。 第一种是使用 Page.Master.FindControl('controlID')。 然后您可以将其转换为用户控件的类型。 第二种方法是向您的 aspx 页面添加 <%@ MasterType VirtualPath=""><%@ MasterType TypeName=""%> 标记。 在VirtualPath 中添加母版页的虚拟路径或TypeName 中的类。 然后您可以使用智能感知访问所有内容。

You can use two methods. The first is by using Page.Master.FindControl('controlID'). Then you can cast it to the type of your user control. The second method is by adding a <%@ MasterType VirtualPath=""> OR <%@ MasterType TypeName=""%> tag to your aspx page. In the VirtualPath add the virtual path to the master page, or the class in the TypeName. You can then access everything with intellisense.

云归处 2024-07-17 05:53:02

首先在母版页中找到用户控件,如下所示。然后找到您需要访问其属性的控件。

UserControl uch = Page.Master.FindControl("ucHeader1") as UserControl;
PlaceHolder phProxylist= ucHeader1.FindControl("phProxy") as PlaceHolder;
DropDownList ddlproxylist1 = ucHeader1.FindControl("ddlProxyList") as DropDownList;
phProxylist.Visible = false;

希望这可以帮助。

first find the user control in the masterpage as below.Then find the control you need to access their property.

UserControl uch = Page.Master.FindControl("ucHeader1") as UserControl;
PlaceHolder phProxylist= ucHeader1.FindControl("phProxy") as PlaceHolder;
DropDownList ddlproxylist1 = ucHeader1.FindControl("ddlProxyList") as DropDownList;
phProxylist.Visible = false;

Hope this helps.

尘曦 2024-07-17 05:53:02

还有另一种方法,那就是在母版页上创建一个公开用户控件的公共属性。

There's one other method, and that's by making a public property on the master page that exposes the user control.

冷弦 2024-07-17 05:53:02

使用公共财产是可行的。 在内容页的 FormLoad 方法中,您可以执行如下操作 (VB):

Dim myMaster as MyMasterPage = CType(Page.Master, MyMasterPage)
myMaster.MyUserControl.Text = "Hello!"

Using a public property would work. In the content page's FormLoad method, you could do something like this (VB):

Dim myMaster as MyMasterPage = CType(Page.Master, MyMasterPage)
myMaster.MyUserControl.Text = "Hello!"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文