asp.net3.5+sql2005,在一个页面中使用listview+datapager来显示数据,默认加载所有数据,点击前一页,后一页都正常。
页面上还有个查询按钮和几个文本框,在文本框里边输入字符后点击查询按钮可以查到符合条件的记录,若此时点击前一页,后一页,则listview中显示的数据变成了默认加载的数据,怎么解决这个问题?
代码如下: string tlb,sql;
SqlParameter[] parms=null; protected void Page_Load(object sender, EventArgs e)
{
tlb = Request.QueryString["lb"].ToString();
sql = "select * from jtry where lb=@lb order by id desc";
parms = new SqlParameter[] { new SqlParameter("@lb", tlb) };
} void BindData(string strsql,SqlParameter[] pars)
{
listre.DataSource = AcHelper.GetTable(CommandType.Text, strsql, pars );
listre.DataBind();
} protected void Page_PreRender(object sender, EventArgs e)
{
//加载所有记录//listview数据绑定必须放在这里,否则得不到正确结果
BindData(sql, parms);
}
protected void btn_search_Click(object sender, ImageClickEventArgs e)
{
string mc, bm, nf, ch, sj;
mc = tmc.Text.Trim();
bm = tbm.Text.Trim();
nf = tnf.Text.Trim();
ch = tch.Text.Trim();
sj = tsj.Text.Trim(); sql = "select * from jtry where lb='"+tlb+"'";
if (mc != "")
sql += " and dw=@mc ";
if (bm != "")
sql += " and bm=@bm ";
if (nf != "")
sql += " and synf=@nf ";
if (ch != "")
sql += " and chmc=@ch ";
if (sj != "")
sql += " and sysj=@sj ";
sql += " order by id desc "; parms = new SqlParameter[]{
new SqlParameter ("@mc",mc),
new SqlParameter ("@bm",bm),
new SqlParameter ("@nf",nf),
new SqlParameter ("@ch",ch),
new SqlParameter ("@sj",sj)
}; BindData(sql, parms);
}
页面上还有个查询按钮和几个文本框,在文本框里边输入字符后点击查询按钮可以查到符合条件的记录,若此时点击前一页,后一页,则listview中显示的数据变成了默认加载的数据,怎么解决这个问题?
代码如下: string tlb,sql;
SqlParameter[] parms=null; protected void Page_Load(object sender, EventArgs e)
{
tlb = Request.QueryString["lb"].ToString();
sql = "select * from jtry where lb=@lb order by id desc";
parms = new SqlParameter[] { new SqlParameter("@lb", tlb) };
} void BindData(string strsql,SqlParameter[] pars)
{
listre.DataSource = AcHelper.GetTable(CommandType.Text, strsql, pars );
listre.DataBind();
} protected void Page_PreRender(object sender, EventArgs e)
{
//加载所有记录//listview数据绑定必须放在这里,否则得不到正确结果
BindData(sql, parms);
}
protected void btn_search_Click(object sender, ImageClickEventArgs e)
{
string mc, bm, nf, ch, sj;
mc = tmc.Text.Trim();
bm = tbm.Text.Trim();
nf = tnf.Text.Trim();
ch = tch.Text.Trim();
sj = tsj.Text.Trim(); sql = "select * from jtry where lb='"+tlb+"'";
if (mc != "")
sql += " and dw=@mc ";
if (bm != "")
sql += " and bm=@bm ";
if (nf != "")
sql += " and synf=@nf ";
if (ch != "")
sql += " and chmc=@ch ";
if (sj != "")
sql += " and sysj=@sj ";
sql += " order by id desc "; parms = new SqlParameter[]{
new SqlParameter ("@mc",mc),
new SqlParameter ("@bm",bm),
new SqlParameter ("@nf",nf),
new SqlParameter ("@ch",ch),
new SqlParameter ("@sj",sj)
}; BindData(sql, parms);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货