2012-03-08 59 views
-1

我试图运行下面的脚本的用户的用户名:获得谁登录

这里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

它怎么样? – 2012-03-08 18:24:59

+0

当我将光标移动到'LoginName1'时,它说“这个成员定义了多次。 – 2012-03-08 18:46:30

+0

你在哪里调用重定向? – RQDQ 2012-03-08 19:29:52

回答

4

你试过从HttpContext.Current.User.Identity.Name得到用户名?

从上下文判断,我猜测LoginName1是一个标签或另一个没有任何ViewState关联的.NET控件。如果是这样,上面的代码应该工作。

+0

对不起,我错了'LoginName1'是'asp:LoginName',即'System.Web .UI.WebControls.LoginName1' ... – 2012-03-08 18:42:19

0

System.Web.UI.Page.User.Identity.Name不是一类。 System.Web.UI.Page是一类,UserIPrincipal类型的产业,其中包含IIdentity类型的属性Identity,其中包含string类型的属性Name

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

+0

请参阅我的编辑 – 2012-03-08 18:45:09

+0

您是否尝试过LoginName1.ToString()? – 2012-03-08 18:52:43

+0

它说'这个成员被定义不止一次' – 2012-03-08 18:59:34