请大家帮帮忙啊!!sqldatasource问题
我使用语句:
public static string sqlstr;
(类变量)
然后动态给sqldatasource赋值
sqldatasource1.selectcommand = sqlstr;
sqldatasource1.databind();
gridview1.datasource = sqldatasource1;
gridview1.databind();
这个gridview是有分页的.
点击第二页的时候,发现sqlstr变成了NaN,是不是page_load的时候把它又清空了?
这样gridview1就没有数据了.请问大家有什么解决办法?
非常感谢了....谢谢关注..
------解决方案--------------------把sqlstr存起来。比如ViewState
------解决方案--------------------up
------解决方案--------------------顶!
------解决方案--------------------pageload里面用Page.IsPostBack
分页里面用方法 bind()
------解决方案--------------------这样不好.
public static string sqlstr;
sqlstr = "select xxx from xxxxtable where xx= "
需要给数据源赋值的时候,就动态的把后面的参数加上
sqlstr = sqlstr + someArgus;
这个someArgus可以用QueryString 或者Cookie 等等多种方式来传到服务器端.
------解决方案--------------------pageload里面用Page.IsPostBack,在里面初始化sqlstr的值,就初始化一次,
分页里面用方法 bind()
------解决方案--------------------SqlDataSource的Init事件里写sql
------解决方案--------------------if(!Page.IsPostBack)
{
.................
this.GridView1.DataBind();
}
------解决方案--------------------在page_indexchanging里,已经有写了
this.GridView1.PageIndex = e.NewPageIndex;
this.GridView1.DataBind(); //这里没有重新得到数据源,直接DataBind()当然是什么也没有了
如果你的代码不多,相关代码都贴切一下吧,就你现在的描述,上面的问题看不出具体原因