首页 新闻 会员 周边

关于Server.UrlEncode()编码的问题?求解

0
悬赏园豆:5 [已解决问题] 解决于 2012-04-19 09:48

出现了一个很奇怪的问题,不知道是哪里设置错了,还是怎么回事,我使用Server.UrlEncode() 编码一个字符串,出来的值竟然没有进行编码,查原因,那就叫个纠结啊,使用其他方法可以解决,但是小弟就像弄明白倒是是怎么回事,什么原因,求各位大侠,高手给予指导,谢谢,大家一起探讨一下,代码如下:

编码前,前提是在gridview中使用的哈。

protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes["style"] = "Cursor:hand";
            e.Row.Attributes.Add("onmouseover", "c=style.backgroundColor;style.backgroundColor='#add8e6'");
            e.Row.Attributes.Add("onmouseout", "style.backgroundColor=c");
            string sp_code = Grid.DataKeys[e.Row.RowIndex].Value.ToString();
            string cal_url = String.Format("SupplierEdit.aspx?spCode={0}", Server.UrlEncode(sp_code));
            e.Row.Attributes.Add("ondblclick", String.Format("document.location.href='{0}'", cal_url));
        }
    }

 

编码后网页地址参数:

Company/SupplierEdit.aspx?spCode=SP00001

然后我就郁闷了,求给位给个解释,分数就给少了哈,高手不会太在意豆豆的。谢啦哈。

blue_sky_alf的主页 blue_sky_alf | 初学一级 | 园豆:72
提问于:2012-04-16 09:51
< >
分享
最佳答案
0

Server.UrlEncode 这个只是对 URL中的特殊定符(中文,斜线,空格,冒号)编码,这里 SP00001 不是特殊字符,当然不会编码了

收获园豆:5
artwl | 专家六级 |园豆:16736 | 2012-04-16 10:02

哦,谢谢,那就是我对这个方法理解错误了,灰常感谢.......大家都回答的很好,但是你第一个,豆豆给你了~!

blue_sky_alf | 园豆:72 (初学一级) | 2012-04-19 09:45
其他回答(3)
0

看一下这个有没有帮助:

http://blog.csdn.net/rj042/article/details/5217699

如果不行的话,你可以采用对字符串加密的形式传递参数,在获取参数的时候进行解密就行了。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-04-16 13:18

灰常感谢.......要实现功能方法确实很多,我就是想弄明白为什吗,结果是我对这个方法理解有误,感谢你们,豆豆给第一位了~!

支持(0) 反对(0) blue_sky_alf | 园豆:72 (初学一级) | 2012-04-19 09:46
0

你可以采取加密的方式 对你的参数加密 然后在解密使用 你用的那个 内置编码 只对 非 数字和字母进行编码所以你需要的话 得考虑换种方式实现了

苦逼面条 | 园豆:289 (菜鸟二级) | 2012-04-17 15:48

你这个方法可行,豆豆给第一位了,谢谢参与,原来是我对此方法的理解错误~!加密也是一种好办法.....

支持(0) 反对(0) blue_sky_alf | 园豆:72 (初学一级) | 2012-04-19 09:47
0

这个只编码中文,所以是没有变化的,你可以用这个工具测试下就知道了。http://www.ofmonkey.com/tools/encode

独孤飞 | 园豆:283 (菜鸟二级) | 2017-01-18 09:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册