⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.aspx.cs

📁 .net的一个很经典很普通的实例
💻 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 + -