为什么textbox里面文本会出现部分丢失的情况?

来源:百度知道 编辑:UC知道 时间:2024/06/26 06:18:02
我现在做水晶报表,我的报表带查询功能,即在数据库中查询,动态绑定的!
因为报表的导出需要刷新页面,因为为了导出就需要重新绑定报表。于是我就用textbox保存当前的查询条件(sql语句),然后在导出刷新时,取出textbox里面的值重新绑定报表,结果textbox里面的值出现部分丢失情况。如下:
第一次刷新时,还是正确的:this.textbox.text select id,name, size,d_time, series,amount,price,(price*amount)as money,type from cloth_purchase where 1=1 and d_time between '2008-10-8 0:00:00' and '2008-11-19 0:00:00'
第二次刷新就出现问题了:this.textbox.text select id,name, size,d_time, series,amount,price,(price*amount)as money,type from cloth_purchase where 1=1 and d_time between ;
就是这样,后面的时间不见了..我断点跟踪的!
请大家指点...在线等!
多谢!
pageload中没有清空...再说如果情况了,也不是部分丢失,而另一部部分还在!
大家好好看下,上面第一textbox后面就是正确的值,第二textbox后面是丢失后的值..其中表示时间范围的那些丢失了..texbox的maxlength,我也设置了很长也没用
代码:
pageload()
{
if(!ispostback)
{
设置sql语句;
绑定;
this.textbox.text=sql;
}
else
{

string sql=textbox.text;//这个地方出错
绑定;
}
}
buttonclick()//按钮提交
{
/

赋值:viewstate["sql"]=sql;
取值:string sql=viewstate["sql"];
就是把过程变量存到viewstate里面;
试试

首先:你的时间是否通过textbox输入的或传入的。
如果是的话,你看看你有没有在page_load()中加入
if (!ispostback)
{
this.textbox.text="";
}

page_load的代码呢?你贴个sql有啥用。sql语句也没出错。
看了你的写法,就是Page_Load写错了。你的sql语句在哪里组合的?如果日期是做为参数传递到当前页的话,就不是这么写的。
如果你实在没有办法,或者写不出来,我建议你用session把这两个值保存下来,在page_load里判定下session为不为空,如果不为空,再组合这个sql.

button按下去以后,是作为post重新提交的,所以你的else不会被执行。
你可以else段中设置一个断点,跟一下,看看button按下去以后,else会不会被执行。

你的这俩个时间值是常量吗?还是变量?
如果sql句子是一个字符串而不是组合得来的是不会发生这样的情况吧
我猜是你定义变量的问题。

page_load()
if (!ispostback)
{
}

第2次刷新的代码应该写在这个里面
if (!ispostback)
{

}