首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-01-21 
模板列中的含有+号,用Querystring传递过去时会丢失,如何处理.模板列为ItemTemplateahref SalesDetail.

模板列中的含有+号,用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=后面好像久东西吧

热点排行