日期:2014-05-19  浏览次数:20570 次

模板列中的含有+号,用Querystring传递过去时会丢失,如何处理.
模板列为
<ItemTemplate>
<a   href= 'SalesDetail.aspx?TGroup= <%#   DataBinder.Eval(Container.DataItem,   "TGroup ")%> &Quarter= <%#   DataBinder.Eval(Container.DataItem,   "Quarter ")%> &PositionNo= '>
<%#   DataBinder.Eval(Container.DataItem,   "TGroup ")%>
</a>
</ItemTemplate>

但由于TGroup字段中存在+号,传递过去时会丢失,有无好办法替换掉?或有更好的解决方案.(附代码最佳)

------解决方案--------------------
Server.UrlDecode(...)
//编码
------解决方案--------------------
> &Quarter= <%# DataBinder.Eval(Container.DataItem, "Quarter ")%> &PositionNo= '>
最后的 '> 干嘛 使的
------解决方案--------------------
UrlEncode
UrlDecode
------解决方案--------------------
可以改成 <%# HttpUtility.UrlEncode((string)DataBinder.Eval(Container.DataItem, "TGroup "))%>
取值的时候用HttpUtility.UrlDecode()就可以
------解决方案--------------------
> &PositionNo=后面好像久东西吧