本人初涉ASP.NET 给公司做了个维保记录系统 但是在调试的时候发现这样一个问题:我在执行查询功能之后,GridView得到的结果是有3页的,然后我点击下一页(我的翻页功能)发现不是在我查询得到的数据中翻页 而是在我Page_Load里绑定的所有数据的数据源中翻页请问这是什么问题呢?请各位大大多多指教,在线等。CS代码如下:using System;
using System.Text;
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.Web.SessionState;
using System.ComponentModel;
using System.Drawing;
//using System.Data.SqlClient;public partial class PerservationInfo : System.Web.UI.Page
{
int flag; private DataTable m_dtResult
{
get
{
if (Session["m_dtResult"] == null)
{
Session["m_dtResult"] = new DataTable();
}
return Session["m_dtResult"] as DataTable;
}
set
{
Session["m_dtResult"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//动态加载下拉框customer_name的项
string sql_customer_name = string.Format("select distinct Customer_Name from OA_PerservationRec");
DataTable Customer_Nane = PublicDAL.GetDataTable(sql_customer_name);
dp_customer_name.DataSource = Customer_Nane;
dp_customer_name.DataTextField = "Customer_Name";
dp_customer_name.DataValueField = "Customer_Name";
dp_customer_name.DataBind();
dp_customer_name.Items.Insert(0, ""); //动态加载下拉框ddl_query_pers_type的项
string sql_pers_type = string.Format("select Pers_Type from OA_SysData");
DataTable Pers_Type = PublicDAL.GetDataTable(sql_pers_type);
ddl_query_pers_type.DataSource = Pers_Type;
ddl_query_pers_type.DataTextField = "Pers_Type";
ddl_query_pers_type.DataValueField = "Pers_Type";
ddl_query_pers_type.DataBind();
ddl_query_pers_type.Items.Insert(0, "");
}
m_dtResult = PublicDAL.GetDataTable("Select * from OA_PerservationRec");
InfoList.DataSource = m_dtResult;
InfoList.DataBind(); //InfoList的数据绑定
DataTable dt = GetInfo();
InfoList.DataSource = dt;
InfoList.DataBind();
} protected void btn_add_Click(object sender, EventArgs e)
{
Response.Redirect("PerservationInfo_add.aspx", true);//点击触发页面跳转事件
} public void Info_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//GridView的分页功能
int startIndex;
startIndex = InfoList.PageIndex * InfoList.PageSize;
InfoList.PageIndex = e.NewPageIndex;
InfoList.DataBind();
ShowPageChangedStatus();
} public void Info_RowEditing(object sender, GridViewEditEventArgs e)
{ } public void Info_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//GridView的删除一行数据功能
int id = Convert.ToInt32(this.InfoList.Rows[e.RowIndex].Cells[0].Text);
try
{
if (PublicDAL.ExecuteSql(string.Format("delete from OA_PerservationRec where num={0}", id)) > 0)
{
PublicWeb.MessageBox(this, "删除成功!!!");
}
else
{
PublicWeb.MessageBox(this, "删除失败,请重试!");
}
Response.Redirect(Request.Url.ToString());
}
catch (Exception ex)
{
PublicWeb.MessageBox(this, ex.Message);
}
} protected void Info_SelectedIndexChanged(object sender, EventArgs e)
{ } protected void btn_query_Click(object sender, EventArgs e)
{
QueryInfo();//点击触发查询功能
} //查询功能
private void QueryInfo()
{
StringBuilder sqlSelect = new StringBuilder();
sqlSelect.Append("select Pers_Type,Customer_Name,Pro_Name,State,");
sqlSelect.Append("Pers_Date,Num,Pers_Name,left(Re,10)Re from OA_PerservationRec where 1=1"); if (ddl_query_pers_type.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_Type ='{0}'", ddl_query_pers_type.SelectedValue);
} if (dp_customer_name.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and Customer_Name like '{0}'", dp_customer_name.SelectedItem);
} if (txt_pro_name.Text.Trim()!= "")
{
sqlSelect.AppendFormat(" and Pro_Name like '%{0}%'", txt_pro_name.Text);
} if (DDL_query_state.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and State like '%{0}%'", DDL_query_state.SelectedValue);
} if (dp_query_pers_date1.Value.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_date between '{0}' and '{1}'", dp_query_pers_date1.Value,dp_query_pers_date2.Value);
} if (txtPers_name.Text.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_Name like '%{0}%'",txtPers_name.Text);
} //绑定数据
DataTable dt = PublicDAL.GetDataTable(sqlSelect.ToString());
InfoList.DataSource = dt;
InfoList.DataBind();
} //GetInfo方法
public DataTable GetInfo()
{
return PublicDAL.GetDataTable("select Num,Customer_Name,Pro_Name,Pers_Date,Pers_Type,State,Pers_Name,left(Re,10)Re from OA_PerservationRec order by cast(Pers_Date as datetime)desc");
} //翻页功能
public void PagerButtonClick(object sender, EventArgs e)
{
//点击触发翻页功能
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch (arg)
{
case "next":
if(InfoList.PageIndex<(InfoList.PageCount-1))
{
InfoList.PageIndex+=1;
}
break;
case "prev":
if(InfoList.PageIndex>0)
{
InfoList.PageIndex-=1;
}
break;
case "last":
InfoList.PageIndex=(InfoList.PageCount-1);
break;
case"first":
InfoList.PageIndex = 0;
break;
default:
InfoList.PageIndex = System.Convert.ToInt32(arg);
break;
}
InfoList.DataBind();
ShowPageChangedStatus();
} private void ShowPageChangedStatus()
{
lblCurrentIndex.Text = "第" + (InfoList.PageIndex + 1).ToString() + "页";
lblPageCount.Text = "总共 " + InfoList.PageCount.ToString() + " 页";
} protected void Button1_Click(object sender, EventArgs e)
{
PublicBLL.ExportExcelByDataTable(this, m_dtResult, "PersInfo");//点击触发导出功能
}
}
using System.Text;
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.Web.SessionState;
using System.ComponentModel;
using System.Drawing;
//using System.Data.SqlClient;public partial class PerservationInfo : System.Web.UI.Page
{
int flag; private DataTable m_dtResult
{
get
{
if (Session["m_dtResult"] == null)
{
Session["m_dtResult"] = new DataTable();
}
return Session["m_dtResult"] as DataTable;
}
set
{
Session["m_dtResult"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//动态加载下拉框customer_name的项
string sql_customer_name = string.Format("select distinct Customer_Name from OA_PerservationRec");
DataTable Customer_Nane = PublicDAL.GetDataTable(sql_customer_name);
dp_customer_name.DataSource = Customer_Nane;
dp_customer_name.DataTextField = "Customer_Name";
dp_customer_name.DataValueField = "Customer_Name";
dp_customer_name.DataBind();
dp_customer_name.Items.Insert(0, ""); //动态加载下拉框ddl_query_pers_type的项
string sql_pers_type = string.Format("select Pers_Type from OA_SysData");
DataTable Pers_Type = PublicDAL.GetDataTable(sql_pers_type);
ddl_query_pers_type.DataSource = Pers_Type;
ddl_query_pers_type.DataTextField = "Pers_Type";
ddl_query_pers_type.DataValueField = "Pers_Type";
ddl_query_pers_type.DataBind();
ddl_query_pers_type.Items.Insert(0, "");
}
m_dtResult = PublicDAL.GetDataTable("Select * from OA_PerservationRec");
InfoList.DataSource = m_dtResult;
InfoList.DataBind(); //InfoList的数据绑定
DataTable dt = GetInfo();
InfoList.DataSource = dt;
InfoList.DataBind();
} protected void btn_add_Click(object sender, EventArgs e)
{
Response.Redirect("PerservationInfo_add.aspx", true);//点击触发页面跳转事件
} public void Info_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//GridView的分页功能
int startIndex;
startIndex = InfoList.PageIndex * InfoList.PageSize;
InfoList.PageIndex = e.NewPageIndex;
InfoList.DataBind();
ShowPageChangedStatus();
} public void Info_RowEditing(object sender, GridViewEditEventArgs e)
{ } public void Info_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//GridView的删除一行数据功能
int id = Convert.ToInt32(this.InfoList.Rows[e.RowIndex].Cells[0].Text);
try
{
if (PublicDAL.ExecuteSql(string.Format("delete from OA_PerservationRec where num={0}", id)) > 0)
{
PublicWeb.MessageBox(this, "删除成功!!!");
}
else
{
PublicWeb.MessageBox(this, "删除失败,请重试!");
}
Response.Redirect(Request.Url.ToString());
}
catch (Exception ex)
{
PublicWeb.MessageBox(this, ex.Message);
}
} protected void Info_SelectedIndexChanged(object sender, EventArgs e)
{ } protected void btn_query_Click(object sender, EventArgs e)
{
QueryInfo();//点击触发查询功能
} //查询功能
private void QueryInfo()
{
StringBuilder sqlSelect = new StringBuilder();
sqlSelect.Append("select Pers_Type,Customer_Name,Pro_Name,State,");
sqlSelect.Append("Pers_Date,Num,Pers_Name,left(Re,10)Re from OA_PerservationRec where 1=1"); if (ddl_query_pers_type.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_Type ='{0}'", ddl_query_pers_type.SelectedValue);
} if (dp_customer_name.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and Customer_Name like '{0}'", dp_customer_name.SelectedItem);
} if (txt_pro_name.Text.Trim()!= "")
{
sqlSelect.AppendFormat(" and Pro_Name like '%{0}%'", txt_pro_name.Text);
} if (DDL_query_state.SelectedValue.Trim() != "")
{
sqlSelect.AppendFormat(" and State like '%{0}%'", DDL_query_state.SelectedValue);
} if (dp_query_pers_date1.Value.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_date between '{0}' and '{1}'", dp_query_pers_date1.Value,dp_query_pers_date2.Value);
} if (txtPers_name.Text.Trim() != "")
{
sqlSelect.AppendFormat(" and Pers_Name like '%{0}%'",txtPers_name.Text);
} //绑定数据
DataTable dt = PublicDAL.GetDataTable(sqlSelect.ToString());
InfoList.DataSource = dt;
InfoList.DataBind();
} //GetInfo方法
public DataTable GetInfo()
{
return PublicDAL.GetDataTable("select Num,Customer_Name,Pro_Name,Pers_Date,Pers_Type,State,Pers_Name,left(Re,10)Re from OA_PerservationRec order by cast(Pers_Date as datetime)desc");
} //翻页功能
public void PagerButtonClick(object sender, EventArgs e)
{
//点击触发翻页功能
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch (arg)
{
case "next":
if(InfoList.PageIndex<(InfoList.PageCount-1))
{
InfoList.PageIndex+=1;
}
break;
case "prev":
if(InfoList.PageIndex>0)
{
InfoList.PageIndex-=1;
}
break;
case "last":
InfoList.PageIndex=(InfoList.PageCount-1);
break;
case"first":
InfoList.PageIndex = 0;
break;
default:
InfoList.PageIndex = System.Convert.ToInt32(arg);
break;
}
InfoList.DataBind();
ShowPageChangedStatus();
} private void ShowPageChangedStatus()
{
lblCurrentIndex.Text = "第" + (InfoList.PageIndex + 1).ToString() + "页";
lblPageCount.Text = "总共 " + InfoList.PageCount.ToString() + " 页";
} protected void Button1_Click(object sender, EventArgs e)
{
PublicBLL.ExportExcelByDataTable(this, m_dtResult, "PersInfo");//点击触发导出功能
}
}
{
//GridView的分页功能
int startIndex;
startIndex = InfoList.PageIndex * InfoList.PageSize;
InfoList.PageIndex = e.NewPageIndex;
InfoList.DataBind();
ShowPageChangedStatus();
}
protected void Info_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
Info.PageIndex = e.NewPageIndex;
DataBind(this, EventArgs.Empty);
}
编译器错误信息: CS1501: “DataBind”方法没有采用“2”个参数的重载
//翻页功能
public void PagerButtonClick(object sender, EventArgs e)
{
//点击触发翻页功能
....
....
....
....
QueryInfo();//InfoList.DataBind();---------问题在这里
ShowPageChangedStatus();
}
//GridView的分页功能
int startIndex;
startIndex = InfoList.PageIndex * InfoList.PageSize;
InfoList.PageIndex = e.NewPageIndex;
InfoList.DataBind();
ShowPageChangedStatus();
}
它里的InfoList.DataBind();换成QueryInfo();