网址问题中的标签

时间:2011-09-23 17:46:59

标签: asp.net query-string sqldatasource

我有一个querystring参数填充另一个页面,当参数以#标签#

开始时会出现问题

例:  mysitepage /细节?PARAM =#456

当然会发生这种情况,因为url中的hashtags结束了请求。问题是这些是数据库中的ID,无法更改。而不是使用查询字符串,是否有人可以通知我。

EDIT1 -

我意识到我正在编码问题所在的整个网址。现在我只做参数部分,但它似乎是使参数静态而不是动态现在:

示例:

String.Format("mysite.com?param="+Server.UrlEncode({0}), Eval("param")) 

基本上它用花括号编码0而不是实际的评估值

2 个答案:

答案 0 :(得分:4)

您应该结帐HttpUtility.UrlEncode(string)

它会将#编码为%23&当然,您可以使用UrlDecode()

将其解码回来

答案 1 :(得分:1)

您需要对参数进行编码和解码。使用ASP.NET MVC,我正在使用Url.Encode()Url.Decode()

#456编码为%23456

看起来您可以在ASP.NET中使用HttpUtility.UrlEncode()HttpUtility.UrlDecode()