Server.UrlEncode(k),我不要转码,怎么弄?

protectedvoidButton1_Click(objectsender,EventArgse){stringk=TextBox1.Text.ToString().... protected void Button1_Click(object sender, EventArgs e)
{
string k = TextBox1.Text.ToString().Trim();
if (k == "请输入您要查询的产品名称")
{
k = "";
}
string cls = DropDownList1.SelectedItem.Text.ToString();
if (cls == "产品")
{
Response.Redirect("product_search.aspx?name=" + Server.UrlEncode(k) + "");
}
else
{
Response.Redirect("gq_search.aspx?k=" + Server.UrlEncode(k) + "&cls=" + Server.UrlEncode(cls) + "");
}
}

现在点搜索,比如我输入“爱情”,点搜索URL就会显示:gq_search.aspx?k=%u6d77%u4ea7&cls=%u4f9b%u5e94
我现在不想转码,点搜索后,直接显示:gq_search.aspx?k=%爱情&cls=XXX

直接显示中文,请问我如何改上述代码?本人是菜鸟,请多多指教!
回复 萍水e相逢 :我不太懂,好像没有,我把UrlEncode改为UrlDecode,没用,还是转码:
gq_search.aspx?k=%u6d77%u4ea7&cls=%u4f9b%u5e94

我要的效果:gq_search.aspx?k=%爱情&cls=XXX
展开
 我来答
头奖彩票网
2009-03-13 · TA获得超过368个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:107万
展开全部
asp.net要用url传递中文,必须要先编码,然后接收的时候再解码 如若不然 将接收到不完整的中文。其中Server.UrlEncode(k)就是编码 Server.UrlDecode(k)就是解码
不知道你要外显中文有和用处,如果一定要达到你要的效果,那就再用一个参数吧 一个拿来编码 一个不编码 但是后台接收的时候就只接收编码了的那个 明文的那个参数直接忽略、、则形成如下地址:
gq_search.aspx?k1=爱情&k2=%u6d77%u4ea7
两个参数值虽然不同 但是都是' 爱情'
至于cls 则类似 不知道有没有达到你的要求??
————————
如果你认为上面的方法不可取,那请配置web.config,将页面整体编码 则可以传递中文
百度网友fb6e0bae8
2009-03-13 · 超过58用户采纳过TA的回答
知道答主
回答量:218
采纳率:0%
帮助的人:0
展开全部
老大 不使用 urlencode会有严重的 XSS 漏洞,你的网站不想要了, 如果你真的 不想urlencode 为什么不直接
Response.Redirect("gq_search.aspx?k=" + k + "&cls=" + cls + "");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pj96127
2009-03-13 · TA获得超过477个赞
知道小有建树答主
回答量:703
采纳率:0%
帮助的人:568万
展开全部
Response.Redirect("gq_search.aspx?k=" + k + "&cls=" + cls + "");
这样就能直接显示中文
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是大迈
2009-03-13
知道答主
回答量:28
采纳率:0%
帮助的人:7.4万
展开全部
Server.UrlEncode(k) 换成k就好了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萍水e相逢
2009-03-13 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.5亿
展开全部
对应 UrlEncode 有没有 UrlDecode?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式