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 展开
{
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 展开
展开全部
asp.net要用url传递中文,必须要先编码,然后接收的时候再解码 如若不然 将接收到不完整的中文。其中Server.UrlEncode(k)就是编码 Server.UrlDecode(k)就是解码
不知道你要外显中文有和用处,如果一定要达到你要的效果,那就再用一个参数吧 一个拿来编码 一个不编码 但是后台接收的时候就只接收编码了的那个 明文的那个参数直接忽略、、则形成如下地址:
gq_search.aspx?k1=爱情&k2=%u6d77%u4ea7
两个参数值虽然不同 但是都是' 爱情'
至于cls 则类似 不知道有没有达到你的要求??
————————
如果你认为上面的方法不可取,那请配置web.config,将页面整体编码 则可以传递中文
不知道你要外显中文有和用处,如果一定要达到你要的效果,那就再用一个参数吧 一个拿来编码 一个不编码 但是后台接收的时候就只接收编码了的那个 明文的那个参数直接忽略、、则形成如下地址:
gq_search.aspx?k1=爱情&k2=%u6d77%u4ea7
两个参数值虽然不同 但是都是' 爱情'
至于cls 则类似 不知道有没有达到你的要求??
————————
如果你认为上面的方法不可取,那请配置web.config,将页面整体编码 则可以传递中文
展开全部
老大 不使用 urlencode会有严重的 XSS 漏洞,你的网站不想要了, 如果你真的 不想urlencode 为什么不直接
Response.Redirect("gq_search.aspx?k=" + k + "&cls=" + cls + "");
Response.Redirect("gq_search.aspx?k=" + k + "&cls=" + cls + "");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Response.Redirect("gq_search.aspx?k=" + k + "&cls=" + cls + "");
这样就能直接显示中文
这样就能直接显示中文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Server.UrlEncode(k) 换成k就好了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对应 UrlEncode 有没有 UrlDecode?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询