📄 list.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Globalization;
using System.Reflection;
public partial class List : System.Web.UI.Page,ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
//从cookie中获取身份验证票信息
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];
if (authCookie != null)
{
div2.Visible = true;
//解密
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
Link.Text = authTicket.Name.ToString();
LinkRole.Text = authTicket.UserData.ToString();
}
else
{ div2.Visible = false; }
//第一次加载时绑定datalist控件为第一页
if (!Page.IsPostBack)
bind(0);
}
protected void Linkout_Click(object sender, EventArgs e)
{
System.Web.Security.FormsAuthentication.SignOut();
string url = "List.aspx?category=" + Request.QueryString["category"];
Context.Response.Redirect(url);
}
protected void login_Click(object sender, ImageClickEventArgs e)
{
if (txtid.Text != "" && txtpwd.Text != "")
{
string UserName = txtid.Text.Trim();
string UserPwd = txtpwd.Text.Trim();
DataVisit mydv = new DataVisit();//创建访问层的类
if (mydv.Confirm(UserName, UserPwd))//验证用户是否合法
{
string UserRoles = mydv.GetRoles(UserName);//获取用户角色的字符串
//建立身份验证票据对象
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddHours(1), false, UserRoles, "/");
//加密序列化验证票为字符串
string HashTicket = FormsAuthentication.Encrypt(Ticket);
//创建cookie
HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);
//输出cookie
Context.Response.Cookies.Add(UserCookie);
// div2.Visible = true;
string url="List.aspx?category="+Request.QueryString["category"];
Context.Response.Redirect(url);
}
else
{
txtid.Text = "不正确!用户名或密码";
}
}
}
protected void register_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("Register.aspx");
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
ImageButton linkpre = (ImageButton)e.Item.FindControl("linkpre");
ImageButton linknext = (ImageButton)e.Item.FindControl("linknext");
DropDownList ddl = (DropDownList)e.Item.FindControl("DropDownList1");
Label all = (Label)e.Item.FindControl("all");
Label now = (Label)e.Item.FindControl("now");
linknext.Enabled = false;
linkpre.Enabled = false;
int newpageIndex;
if (!Page.IsPostBack)
{
newpageIndex = 0;//第一次加载时为第一页
}
else
{
if (result == null)//如果回调参数为空
Session["page"] = 0;//session保存当前页面号
else
{ //由于回调结果在绑定事件之前 所以设置回调后的页面 保存在session中
string[] parts = result.Split('|');
string n = parts[1];
Session["page"] = n;
}
newpageIndex = Convert.ToInt32(Session["page"]); // 取出当前页面
}
if (newpageIndex > 0)
{
linkpre.Enabled = true;
//设置回调事件
linkpre.Attributes.Add("onclick", "setpageto(" + (newpageIndex-1).ToString() + ");return false;");
}
if (newpageIndex < pds().PageCount - 1)
{
linknext.Enabled = true;
//设置回调事件
linknext.Attributes.Add("onclick", "setpageto(" + (newpageIndex+1).ToString() + "); return false;");
}
for (int i = 1; i <= pds().PageCount;i++ )
{
ListItem item = new ListItem();
item.Value = i.ToString();
ddl.Items.Add(item);
}
ddl.Text = (newpageIndex + 1).ToString();
ddl.Attributes.Add("onchange", "setpageto1(this); return false;");
now.Text = pds(newpageIndex+1).CurrentPageIndex.ToString();
all.Text = pds().PageCount.ToString();
}
}
//返回一个可分页的数据源
public PagedDataSource pds()
{
PagedDataSource pds = new PagedDataSource();
DataVisit mydv = new DataVisit();
string category=Request.QueryString["category"];
switch (category)
{
case "1": category = "动作";
break;
case "2": category = "爱情";
break;
case "3": category = "科幻";
break;
case "4": category = "卡通";
break;
case "5": category = "其他";
break;
case "6": category = "剧情";
break;
case "7": category = "喜剧";
break;
case "8": category = "恐怖";
break;
case "9": category = "大片";
break;
case "10": category = "战争";
break;
case "11": category = "美国";
break;
case "12": category = "香港台湾";
break;
case "13": category = "韩国";
break;
case "14": category = "中国内地";
break;
case "15": category = "其他地区";
break;
}
DataTable mydt = mydv.getCategory(category) ;
pds.DataSource = mydt.DefaultView;
pds.AllowPaging = true;
int size =12;
pds.PageSize = size;
pds.CurrentPageIndex = pds.CurrentPageIndex;
return pds;
}
//根据一个传来的整数作为当前页码并返回分页后的数据员
public PagedDataSource pds(int n)
{
PagedDataSource pds = new PagedDataSource();
DataVisit mydv = new DataVisit();
string category=Request.QueryString["category"];
switch (category)
{
case "1": category = "动作";
break;
case "2": category = "爱情";
break;
case "3": category = "科幻";
break;
case "4": category = "卡通";
break;
case "5": category = "其他";
break;
case "6": category = "剧情";
break;
case "7": category = "喜剧";
break;
case "8": category = "恐怖";
break;
case "9": category = "大片";
break;
case "10": category = "战争";
break;
case "11": category = "美国";
break;
case "12": category = "香港台湾";
break;
case "13": category = "韩国";
break;
case "14": category = "中国内地";
break;
case "15": category = "其他地区";
break;
}
DataTable mydt = mydv.getCategory(category);
pds.DataSource = mydt.DefaultView;
pds.AllowPaging = true;
int size = 12;
pds.PageSize = size;
pds.CurrentPageIndex = n;
return pds;
}
//绑定DataList
public void bind(int n)
{
DataList1.DataSource = pds(n);
DataList1.DataBind();
}
//回调方法
public string result;
public string GetCallbackResult()
{
string[] parts = result.Split('|');
//搜索名为MethodName的方法
MethodInfo method = this.GetType().GetMethod(parts[0]);
//定义一个object数组用来保存参数
object[] args = new object[parts.Length - 1];
Array.Copy(parts, 1, args, 0, args.Length);
return (string)method.Invoke(this, args);
}
public void RaiseCallbackEvent(string eventArgument)
{
result = eventArgument;
}
public string pageChange(string newIndex)
{
int n = Convert.ToInt32(newIndex);
bind(n);
return getRenderCode();
}
public string getRenderCode()
{
StringWriter write1 = new StringWriter(CultureInfo.InvariantCulture);
HtmlTextWriter write2 = new HtmlTextWriter(write1);
DataList1.RenderControl(write2);
write2.Flush();
write2.Close();
return write1.ToString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -