当前位置: 代码迷 >> ASP.NET >> 模板列中的含有+号,用Querystring传递过去时会丢失,如何避免
  详细解决方案

模板列中的含有+号,用Querystring传递过去时会丢失,如何避免

热度:6539   发布时间:2013-02-26 00:00:00.0
模板列中的含有+号,用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=后面好像久东西吧
  相关解决方案