请考虑以下代码:
public partial class TeacherControlPanel : System.Web.UI.Page
{
protected string username = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
username = (string)Request.QueryString["username"];
Ice_Web_Portal.BO.Teacher teacher = Ice_Web_Portal.BO.Teacher.GetTeacherByUsername(username);
if (teacher != null)
{
labUsername.Text = username;
labName.Text = teacher.TeacherName;
labTeacherCode.Text = teacher.TeacherCode;
Dept dept = teacher.Department;
if (dept != null)
{
labDepartment.Text = dept.DeptName;
}
}
else
{
//labErrorMessage.Text = "No teacher found";
}
}
protected void btnSendMail_Click(object sender, EventArgs e)
{
Response.Redirect(@"~/Teacher/TeacherComposeMail.aspx?username=mahabub" + username);
}
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,当我将'username'声明为private时,在后续回发后将其初始化为null.
为什么?
秘密是什么?
Dav*_*rab 16
因为ASP.NET是无状态的,这意味着它不会将其从发回到回发状态保持状态.将用户保存到视图状态,会话或应用程序,以便在回发时查看回发.
#region UserName
public string UserName
{
get
{
if (this.ViewState["UserName"] == null)
return string.Empty;
return (string)this.ViewState["UserName"];
}
set { this.ViewState["UserName"] = value; }
}
#endregion
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10284 次 |
| 最近记录: |