我正在尝试运行以下脚本:
此处LoginName1
是System.Web.UI.WebControls.LoginName
。 LoginName1
在网页中显示用户名就好了。
但它似乎不起作用。我哪里错了?
以下是完整代码[最新]:
<%@ 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"> 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" />
<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>
答案 0 :(得分:5)
您是否尝试过从HttpContext.Current.User.Identity.Name
获取用户名?
从上下文来看,我猜测LoginName1是一个标签或另一个没有与之关联的ViewState的.NET控件。如果是这样,上面的代码应该可以工作。
答案 1 :(得分:0)
System.Web.UI.Page.User.Identity.Name
不是一个班级。 System.Web.UI.Page
是一个类,User
是IPrincipal
类型的属性,其中包含Identity
类型的属性IIdentity
,其中包含属性Name
输入string
。
LoginName1
是否string
包含System.Web.UI.Page.User.Identity.Name
的值?或者它是一个显示该值的控件?在前一种情况下,您的代码应该可以使用,稍后您需要使用.Text
或.Value
来获取控件的值。