【问题标题】:enconde text with special characters用特殊字符编码文本
【发布时间】:2014-07-26 19:48:59
【问题描述】:

我有一个带有“%”的文本,我想在链接中使用,但我收到一个错误,(错误请求)

示例:

@{

var title = "less than 1% ."; ///this I would like to pass in url

var url = HttpUtility.HtmlEncode(title); //I try it, but not work!

}

<a href="/cidades/cidade/Categoria/@url">go to city</a>

我使用这条路线:

routes.MapRoute(
            name: "Categoria",
            url: "{controller}/{action}/categoria/{nome}",
            defaults: new { controller = "Cidades", action = "Index", id = UrlParameter.Optional }
        );

【问题讨论】:

    标签: c# url encoding


    【解决方案1】:

    HtmlEncode 用于将特殊字符翻译成HTML。使用UrlEncode 将特殊字符编码为有效的URL

    var url = HttpUtility.UrlEncode(title); 
    

    【讨论】:

    • 我以前试过。不行!我认为问题出在文本中的“%”
    • “不工作”是什么意思 - 你在另一端解码它吗?结果是什么 URL?
    • 当我使用 HttpUtility.UrlEncode(title);错误是 404,产生的 url 是“cidades/cidade/Categoria/less+than+1%25+”。所以,我有这个页面并且可以正常工作。问题是当文本带有 '%'
    • 听起来更像是路径不正确,而不是编码问题。
    • 404 表示未找到该页面。是否有应该处理该 URL 的处理程序或路由?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2016-10-19
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多