获取登录用户的用户名

时间:2012-03-08 18:21:29

标签: c# asp.net c#-4.0

我正在尝试运行以下脚本:

此处LoginName1System.Web.UI.WebControls.LoginNameLoginName1在网页中显示用户名就好了。 但它似乎不起作用。我哪里错了?

以下是完整代码[最新]:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site1.master" AutoEventWireup="true"
    CodeBehind="~/Default.aspx.cs" Inherits="memberlogin.Default" %>


<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script runat="server" >
    public void redirect()
    {// I have removed previous content - it JUST WONT REDIRECT THE PAGE
        //String loginame = System.Web.HttpContext.Current.User.Identity.Name;
        //if (loginame == "usertest")
        Response.Redirect( "Default.aspx");   
       }
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" >
    <h1>
        <span class="input">Welcome to the members-only page.</span>
    </h1>
    <h2>
        Start Client Side Application.
    </h2>
                        <asp:LoginView ID="LoginView1" runat="server">
                <AnonymousTemplate>
                    <span class="input">&nbsp;You are not logged in. Click the Login link to sign in</span>
                </AnonymousTemplate>
                <LoggedInTemplate>
                    <span class="input">You are logged in. Welcome, </span>
                </LoggedInTemplate>
            </asp:LoginView>
            <asp:LoginName ID="LoginName1" runat="server" />
            &nbsp;&nbsp;
            <table class="style1">
                <tr>
                    <td align="center" valign="middle">
            <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        Click on This Image Link To Start The Application<br />
                        <br />
                        <asp:ImageButton   OnClick="click" runat="server" ID="ImageButton1" Height="100px" 
                            ImageUrl="~/Images/loader.jpg" PostBackUrl="~/Loading.aspx" />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                        <br />
                    </td>
                </tr>
            </table>
            <asp:LoginStatus ID="LoginStatus1" runat="server" 
                LogoutAction="Redirect" BackColor="White" 
                Font-Underline="True" LogoutPageUrl="~/Default.aspx" />

</asp:Content>

2 个答案:

答案 0 :(得分:5)

您是否尝试过从HttpContext.Current.User.Identity.Name获取用户名?

从上下文来看,我猜测LoginName1是一个标签或另一个没有与之关联的ViewState的.NET控件。如果是这样,上面的代码应该可以工作。

答案 1 :(得分:0)

System.Web.UI.Page.User.Identity.Name不是一个班级。 System.Web.UI.Page是一个类,UserIPrincipal类型的属性,其中包含Identity类型的属性IIdentity,其中包含属性Name输入string

LoginName1是否string包含System.Web.UI.Page.User.Identity.Name的值?或者它是一个显示该值的控件?在前一种情况下,您的代码应该可以使用,稍后您需要使用.Text.Value来获取控件的值。

相关问题