c#从子页面访问MasterPage元素
本文关键字:访问 MasterPage 元素 | 更新日期: 2023-09-27 18:28:40
我在网上看了几个例子,但似乎都不适合我
我所要做的就是从母版页标题访问标签的内容。
这是我的。。
内容页面上的标签
<asp:Label ID="StaffUserName" runat="Server" />
主页上名为"ThisLoginName"的标签
<header>
<div class="content-wrapper">
<div class="float-left">
<p class="site-title">
<a runat="server" href="~/">Home</a>
</p>
</div>
<div class="float-right">
<section id="login">
Welcome! <b><asp:Label ID="ThisLoginName" runat="server" /></b>
</section>
<nav>
<ul id="menu">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/Admin">Admin</a></li>
</ul>
</nav>
</div>
</div>
</header>
我在网上读了一些教程,但我似乎无法解决这个问题。然而,我确实在我的内容页面的顶部有这个
<%@ MasterType VirtualPath="~/Site.Master" %>
如果有人能帮忙,我将不胜感激。
我认为这正是您所需要的。http://www.aspdotnet-suresh.com/2012/06/access-master-page-control-from-content.html
您需要在母版页类中添加公共属性
public string LabelText
{
get { return StaffUserName.Text; } // StaffUserName is the ID of your LABEL
set { StaffUserName.Text = value; }
}
看到你添加了:<%@ MasterType VirtualPath="~/Site.Master" %>
,所以在你的内容页面中访问这个:
Master.LabelText = "MyText";
或
string test= Master.LabelText;
已修复。。
这是因为我从windows登录中提取用户名的代码是在主页中的页面加载时运行的。
所以我把它移到
public void master_Page_PreLoad(object sender, EventArgs e)
部分,然后它就工作了。
因此,它一定一直在工作,但它正在穿过一片空地。
感谢