我有以下MRS.master:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MRS.master.cs" Inherits="MRS" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="top2" class="top2">
<a href="Page1.aspx" class="mainlist">Page1</a>
<a href="Page2.aspx" class="mainlist" ></a>
</div>
<div id="top3" class="top3">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Register" runat="server" Text="Register" OnClick="Register_Click"/>
<asp:Label ID="uname" Text="UserName" runat="server" CssClass="label"></asp:Label>
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:Label ID="Pwd" Text="Password" CssClass="label" runat="server"></asp:Label>
<asp:TextBox ID="password" runat="server" textmode="Password"></asp:TextBox>
<asp:Button ID="Login" runat="server" Text="Login" OnClick="Login_Click" />
<asp:Label ID="Label3" Text="" runat="server" CssClass="label"/>
<asp:Label ID="Label4" runat="server" Text="User" CssClass="label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="down" class="down" style="color:wheat">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
和MRS.master.cs:
string username = null;
protected void Page_Load(object sender, EventArgs e)
{
Label4.Text = (string)(Session["New"]);;
}
protected void Login_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Server=004-PC\\SQLEXPRESS;Database=MRS;User Id=sa;Password=***");
con.Open();
SqlCommand cmd1 = new SqlCommand("select count(*) from LoginDetails where Uname='" + UserName.Text + "'", con);
int cnt = Convert.ToInt32(cmd1.ExecuteScalar().ToString());
con.Close();
if (cnt == 0) {
Label3.Text = "User does not exist.";
}
else
{
con.Open();
SqlCommand cmd2 = new SqlCommand("select Password from LoginDetails where Uname='" + UserName.Text + "'", con);
string pwd = cmd2.ExecuteScalar().ToString();
con.Close();
if (pwd == password.Text)
{
username = UserName.Text;
Session["New"] = username;
Label4.Text = UserName.Text;
}
else{Label3.Text = "Login details are wrong";}
}
}
我有两个页面,分别是Page1.aspx,Page2.aspx,并在每个页面中添加了以下内容:
<%@ Page Language="C#" MasterPageFile="~/MRS.master" AutoEventWireup="true" CodeFile="Page1.aspx.cs" Inherits="Page1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
我也将相同的代码添加到Page2.aspx。Page1是起始页。成功登录后,“ Label4”显示用户名,如果我导航到Page2,则“ Label4”未显示任何内容,如果返回到Page1,则“ Label4”未显示任何内容。
如何在所有页面上显示用户名。我已经使用了Session。
在MRS.maste.ascx.cs
以下尝试:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
if (Session["New"] != null)
Label4.Text = Session["New"].ToString();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句