📄 header.ascx.cs
字号:
namespace book07
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Security;
using Business;
using Common;
/// <summary>
/// Header 的摘要说明。
/// </summary>
public class Header : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.LinkButton lbLogout;
protected System.Web.UI.WebControls.LinkButton lbReturn;
protected System.Web.UI.WebControls.LinkButton lbNewPost;
protected System.Web.UI.WebControls.LinkButton lbUserManage;
protected System.Web.UI.WebControls.Label lblUser;
protected System.Web.UI.WebControls.LinkButton lbDelete;
protected System.Web.UI.WebControls.LinkButton lbLogin;
#region Properties
/// <summary>
/// 用户名
/// </summary>
public string Username
{
get
{
return HttpContext.Current.User.Identity.Name;
}
}
/// <summary>
/// 是否登录
/// </summary>
public bool IsLogin
{
get
{
return HttpContext.Current.User.Identity.IsAuthenticated;
}
}
/// <summary>
/// 是否有权用户管理
/// </summary>
public bool CanUserManage
{
get
{
if (!IsLogin)
return false;
string strUsername = HttpContext.Current.User.Identity.Name;
return Forum.CanUserManage(strUsername);
}
}
private bool _show_delete;
/// <summary>
/// 是否显示删除文章按钮
/// </summary>
public bool ShowDelete
{
get
{
return _show_delete;
}
set
{
_show_delete = value;
}
}
/// <summary>
/// 是否有权删除文章
/// </summary>
public bool CanDelete
{
get
{
if (!IsLogin)
return false;
if (!Forum.CanDeleteArticle(Username))
return false;
return true;
}
}
#endregion
private void Page_Load(object sender, System.EventArgs e)
{
// 设置各个按钮是否可见
lbLogout.Visible = IsLogin;
lbNewPost.Visible = IsLogin;
lbLogin.Visible = !IsLogin;
lbUserManage.Visible = CanUserManage;
lblUser.Text = "欢迎光临," + Username + "!";
lblUser.Visible = IsLogin;
lbDelete.Visible = ShowDelete && CanDelete;
if (lbDelete.Visible)
{
lbDelete.Attributes.Add("onclick",
"return window.confirm('您确定要删除该文章及其所有回复吗?');");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.lbUserManage.Click += new System.EventHandler(this.lbUserManage_Click);
this.lbNewPost.Click += new System.EventHandler(this.lbNewPost_Click);
this.lbReturn.Click += new System.EventHandler(this.lbReturn_Click);
this.lbLogin.Click += new System.EventHandler(this.lbLogin_Click);
this.lbLogout.Click += new System.EventHandler(this.lbLogout_Click);
this.lbDelete.Click += new System.EventHandler(this.lbDelete_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void lbLogin_Click(object sender, System.EventArgs e)
{
//转向登录页面
Response.Redirect("~/Login.aspx");
}
private void lbLogout_Click(object sender, System.EventArgs e)
{
//注销
FormsAuthentication.SignOut();
Response.Redirect("~/Default.aspx");
}
private void lbReturn_Click(object sender, System.EventArgs e)
{
//返回主页面
Response.Redirect("~/Default.aspx");
}
private void lbNewPost_Click(object sender, System.EventArgs e)
{
//转向发表新文章页面
Response.Redirect("~/NewPost.aspx");
}
private void lbUserManage_Click(object sender, System.EventArgs e)
{
//转向用户管理页面
Response.Redirect("~/UserManage.aspx");
}
private void lbDelete_Click(object sender, System.EventArgs e)
{
int id = Convert.ToInt32(Request.QueryString["id"]);
if (Forum.DeleteArticle(id, Username))
{
Response.Redirect("~/Default.aspx");
}
else
{
Response.Write("<script>alert('删除文章失败!');</script>");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -