登录后在Master Page上发送欢迎消息

时间:2014-11-20 15:47:46

标签: c# asp.net .net master-pages

当用户登录时,我在MasterPage上显示了一个消息名称。现在它只显示 MyAccount 。请查看代码,让我知道如何实现这一目标。 尝试但无法在母版页中进行管理。请将我的代码视为参考: -

<div id="nav-right">
  <div class="showhide-account">
     <img src="images/user.png" width="13" height="13" alt="">&nbsp;&nbsp;My Account
  </div>
  <div class="nav-divider">|</div>
  <div id="logout">
          <a href="Login.aspx" id="logOut" runat="server">Logout</a>
   </div>
   <div class="clear">&nbsp;</div>
</div>

2 个答案:

答案 0 :(得分:0)

如果您使用的是会员资格,只要您希望显示当前用户名,就可以<%= Membership.GetUser().UserName %>。例如:

<div id="nav-right">
    <div class="showhide-account">
        <img src="images/user.png" width="13" height="13" alt="">&nbsp;&nbsp;My Account - <%= Membership.GetUser().UserName %>
    </div>
    <div class="nav-divider">|</div>
    <div id="logout"><a href="Login.aspx" id="logOut" runat="server">Logout</a></div>
    <div class="clear">&nbsp;</div>
</div>

答案 1 :(得分:0)

你可以这样做: - 有两种方法: -

第一道: -

我认为你必须在div中添加lblusername lable。

<div class="showhide-account">
    <img src="images/user.png" width="13" height="13" alt="">&nbsp;&nbsp;
        <asp:Label ID="lblUserName" runat="server"></asp:Label>
</div>

然后,在

后面的代码中设置lblUserName的文本
lblUserName.Text = Session["UserName"].ToString();

第二种方式: -  添加了属性

public string UserName
        {
            get
            {
                //return the object from session
                return (string)Session["UserName"];
            }

            set
            {
                Session["UserName"] = value;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
           //set UserName with UserName from Database value after username &
           //password verification 
           this.UserName = "XYZ User";
        }

然后在.aspx页面,

<div class="showhide-account">
     <img src="images/user.png" width="13" height="13" 
                          alt="">&nbsp;&nbsp;<%=UserName%>
  </div>