using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
using System.Data.SqlClient;public partial class Searchgongcheng : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie1 = Request.Cookies["text"];
        if (cookie1 != null)
        {
            Response.Write("");
            cookie1.Expires = DateTime.Now.AddHours(5);
        }
        else
        {
            Response.Redirect("logingongcheng.aspx");
        }
        //设置数据库链接字符串
        string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
        Search1.ConnectionString = connectionString;
        //根据“姓名”进行查询
        Search1.ColumnCondition = "name";
        //设置绑定的GridView控件
        Search1.ResultGridView = this.GridView1;
        //设置查询的表名
        Search1.TableName = "gongcheng";
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {    }
}其中Search1是我自定义的搜索控件
红色的部分该怎么写~

解决方案 »

  1.   

     你可以用存储过程实现分页
          网上一搜现成的很多~
        但是我觉得你上面的代码
            已经把搜索的结果搜索出来了
      那么现在就把搜索出来的结果做为一个数据集
        分页就可以了
    :     GridView1.PageIndex = e.NewPageIndex;
            DataSet ds = (DataSet)Session["ds"];(这个是你搜索出来的结果集)
            this.GridView1.DataSource = ds;
            this.GridView1.DataBind();
      

  2.   

    还是不对我现在是取出了所有结果
    但是GridView1的设置中PageSize设置的是2
    我想能不能设置个数组,将取出来的数据集分页,每页显示2个
      

  3.   

    我来推销我的代码了 ^_^http://download.csdn.net/source/1701428大部分的自定义控件都可以绑定,如果你对分页的功能和格式还有什么要求请给我留言。把我的自定义分页控件拖进来敲3行代码再绑定义一下我的自定义控件就可以了。
      

  4.   

     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        { 
               GridView1.PageIndex = e.NewPageIndex;
               GridView1.DataBind();//这里用你的绑定方法
      

  5.   

    另外把你pageload里的绑定代码放到if(!ispostback)里
      

  6.   

    搜索空间 .CSusing System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Web.Configuration;public partial class Search : System.Web.UI.UserControl
    {
        private string labelText;                //提示用户要输入什么样的查询条件
        private string connectionString;         //链接数据库
        private GridView resultGridView;         //要填充的GridView控件
        private string tableName;                //要查询数据库中的数据表名
        private string columnCondition;          //根据哪一列进行查询
        private string errorMessage;             //错误信息
        /// <summary>
        /// 公开的属性,由程序员设置提示用户输入的文字
        /// </summary>    public string LabelText 
        {
            set 
            {
                this.labelText = value;
            }
            get 
            {
                return this.labelText;
            }
        }
        /// <summary>
        /// 公开的属性,由程序员设置链接数据库的字符串
        /// </summary>
        public string ConnectionString
        {
            set
            {
                this.connectionString = value;
            }
            get
            {
                return this.connectionString;
            }
        }
        /// <summary>
        /// 公开的属性,由程序员设置要填充的GridView
        /// </summary>
        public GridView ResultGridView
        {
            set
            {
                resultGridView = value;
            }
            get
            {
                return this.resultGridView;
            }
        }
        /// <summary>
        /// 公开的属性,由程序员设置要访问的数据库中的数据表名
        /// </summary>
        public string TableName
        {
            set
            {
                this.tableName = value;
            }
            get
            {
                return this.tableName;
            }
        }
        /// <summary>
        /// 公开的属性,由程序员设置根据哪一列进行查询
        /// </summary>
        public string ColumnCondition
        {
            set
            {
                this.columnCondition = value;
            }
            get
            {
                return this.columnCondition;
            }
        }
        /// <summary>
        /// 搜索结果
        /// </summary>
        private DataTable SearchResult() 
        {
            try 
            {
                string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
                SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
                string sqlString = "select * from " + tableName + " where " + columnCondition + " like '%" + this.Condition.Text.ToString() + "%'";
                conn.Open();
                SqlDataAdapter ada = new SqlDataAdapter(sqlString, conn);
                DataTable dataTable = new DataTable();
                ada.Fill(dataTable);
                conn.Close();
                return dataTable;
            }
            catch(Exception e)
            {
                //errorMessage=e.Message;
                errorMessage = "查询失败,请重新查询。";
                return null;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ColumnName.Text = this.labelText;//设置lable控件的显示文本,提示用户要输入的查询条件
        }
        protected void ButSearch_Click(object sender, EventArgs e)
        {
            //把查询的数据填充到GridView控件中
            resultGridView.DataSource = SearchResult().DefaultView;
            resultGridView.DataBind();
        }
    }