0

我在网上查看了几个例子,但似乎没有一个对我有用。

我要做的就是从母版页标题访问标签的内容。

这是我所拥有的..

内容页面上的标签

<asp:Label ID="StaffUserName" runat="Server" />

MasterPage 上名为“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" %>

如果有人可以提供帮助,我将不胜感激。

4

3 回答 3

1

Fixed..

It was down to the fact that my code to pull the username from the windows login was running at Page load in the masterpage.

So i moved it to the

public void master_Page_PreLoad(object sender, EventArgs e)

section and then it worked.

So it must have been working all along but was pulling through an empty field.

Thanks

于 2013-08-22T10:45:40.947 回答
1

您需要在母版页类中添加公共属性:

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;
于 2013-08-22T10:37:22.107 回答
1

我认为这就是你所需要的。 http://www.aspdotnet-suresh.com/2012/06/access-master-page-control-from-content.html

于 2013-08-22T10:34:02.263 回答