如何从内容页访问母版页中的用户控件?
假设我在母版页中有一个标头用户控件,并且想要根据母版页内加载的内容页来更改用户控件的属性。 我该怎么办?
谢谢!
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用两种方法。 第一种是使用
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 theVirtualPath
add the virtual path to the master page, or the class in theTypeName
. You can then access everything with intellisense.首先在母版页中找到用户控件,如下所示。然后找到您需要访问其属性的控件。
希望这可以帮助。
first find the user control in the masterpage as below.Then find the control you need to access their property.
Hope this helps.
还有另一种方法,那就是在母版页上创建一个公开用户控件的公共属性。
There's one other method, and that's by making a public property on the master page that exposes the user control.
使用公共财产是可行的。 在内容页的 FormLoad 方法中,您可以执行如下操作 (VB):
Using a public property would work. In the content page's FormLoad method, you could do something like this (VB):