当前位置: 代码迷 >> ASP.NET >> 请大家帮帮忙啊sqldatasource有关问题
  详细解决方案

请大家帮帮忙啊sqldatasource有关问题

热度:4678   发布时间:2013-02-25 00:00:00.0
请大家帮帮忙啊!!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()当然是什么也没有了


如果你的代码不多,相关代码都贴切一下吧,就你现在的描述,上面的问题看不出具体原因