问题描述
接收代码有四个参数:stringstr1=string.Empty;str1=Request.QueryString["time"].ToString();stringstr2=string.Empty;str2=Request.QueryString["reason"].ToString();stringstr3=string.Empty;str3=Request.QueryString["state"].ToString();stringstr4=string.Empty;str4=this.Request.QueryString["org_name"].ToString();设置断点时候发现,前三个参数都能接收到。第四个值总是为空。发送代码如下:stringorg_name1="第一";e.Row.Cells[1].Text="<ahref="detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name1+"">"+num+"</a>";谁能帮忙解决一下。。。str4为什么值为空??????????怎么改才能让他正常接收发送代码的值(第一)?
解决方案
本帖最后由 zhangdk733 于 2011-06-03 10:01:35 编辑
解决方案二:
stringorg_name1="第一";e.Row.Cells[1].Text="<ahref="detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name1+"">"+num+"</a>";删除红色部分看看
解决方案三:
不行啊。。。改了之后把gridview控件显示的东西的结构都给改变了。
解决方案四:
整个发送代码如下:protectedvoidgridView_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){stringreason=(string)DataBinder.Eval(e.Row.DataItem,"STOP_REASON");stringnum=(string)DataBinder.Eval(e.Row.DataItem,"FIRSTWELL_COUNT");stringnum1=(string)DataBinder.Eval(e.Row.DataItem,"SECONDWELL_COUNT");//stringorg_name1=(string)DataBinder.Eval(e.Row.DataItem,"ORG_NAME1");//stringorg_name2=(string)DataBinder.Eval(e.Row.DataItem,"ORG_NAME2");stringorg_name1="第一";stringorg_name2="第二";e.Row.Cells[1].Text="<ahref="waterwell_off_detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name1+"">"+num+"</a>";//e.Row.Cells[3].Text="<ahref="waterwell_off_detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name2+"">"+num1+"</a>";}}
解决方案五:
1、this.Request.QueryString["org_name"].ToString();前边的this可以省略。2、调试下看看org_name1的值是什么?3、org_name换个别的名字试试
解决方案六:
1.那个this是我后加的,原来是没有的,这个可以省略。2.调试之后org_name1的值为“第一”,也就是正常发送出去了。3.org_name换别名的方法我也试过了,好像是同样的结果。我原来以为是“_”下划线惹的祸,把下划线去掉改成orgname之后仍然接收的值为空。
解决方案七:
你第4个出来取的是什么“”么?
解决方案八:
是,断点显示str4=“”
解决方案九:
按理说正常接收之后,应该是str4=“第一”
解决方案十:
SORRY断点调试一下查看e.Row.Cells[1].Text值是多少
解决方案十一:
去掉""
解决方案十二:
难道是你url中传递的字符超过了最大字节长度限制啦???
解决方案十三:
urlencode
解决方案十四:
是用来转义的,能去掉么。。。。。
解决方案十五:
urlencode关于这个问题有没有具体的解决办法,
解决方案:
e.Row.Cells[1].Text="<ahref="waterwell_off_detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name1+"">"+num+"</a>";
跟踪一下.不应该是在传输过程中丢失.
解决方案:
如果不设置断点直接运行的话,发送代码中四个参数在浏览器地址里边能够正常显示,但是就是接收代码的第四个参数显示为空。这是发送之后的地址:http://localhost:17205/q/Web_W/detail.aspx?time=2011-05-31&reason=无原因&state=0&org_name=第一采油工区
解决方案:
如果丢失的话为什么只单单丢失了第四个参数而不是四个参数全部丢失?
解决方案:
没分了啊,我来练级另外,你的参数,,丢失了
解决方案:
先吃饭,吃完饭接着问。。。。。。。怎么也弄不明白了。。。
解决方案:
你先单步跟踪一下,看看你的href对不,要是有问题的话,你可以用字符串拼接,先把值拼接好再赋值给href
解决方案:
http://localhost:17205/q/Web_W/detail.aspx?time=2011-05-31&reason=无原因&state=0&org_name=第一采油工区如果是这样的,那肯定可以取到呀,不行,你把位置换一下,把org_name放在前面,看看。。
解决方案:
e.Row.Cells[1].Text="<ahref="waterwell_off_detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&org_name="+org_name1+"&state=0">"+num+"</a>";位置换了。但是也出现错误
解决方案:
在第一个参数的地方出现了一个错误,未将对象引用设置到对象的实例
解决方案:
该回复于2011-06-07 10:14:38被版主删除
解决方案:
TextBox1.Text是什么值如果要是获取模板列应该是TextBoxTextBox1=e.Row.FindControl("TextBox1")asTextBox
解决方案:
stringorg_name1="第一";e.Row.Cells[1].Text="<ahref="detail.aspx?time="+TextBox1.Text+"&reason="+reason+"&state=0&org_name="+org_name1+"">"+num+"</a>";>>>>object[]parameters=newobject[]{Server.UrlEncode(TextBox1.Text),Server.UrlEncode(reason),Server.UrlEncode("0"),Server.UrlEncode(org_name1),num};e.Row.Cells[1].Text=string.Format("<ahref="detail.aspx?time={0}&reason={1}&state={2}&org_name={3}">{4}</a>",parameters);
解决方案:
我勒个去,貌似这个可以直接用列上的绑定就可以了吧!怎么还要用事件处理
解决方案:
不用"用'这样就不用转义符了,试一下吧
解决方案:
放在标签a上看下连接传的参数对不对格式对不对