使用MVC Razor为LinkedIn共享优化网址的最佳方法是什么?

时间:2017-01-03 10:31:01

标签: .net asp.net-mvc asp.net-mvc-4 razor

背景

我在LinkedIn上有一个网址,其标题参数为:some title

为了能够将此标题添加到URL,空格需要被%20替换,但显然LinkedIn Share需要双重编码,因此%也需要编码。 / p>

这意味着空格变为%2520

如果我手动更正我的网址,则会在我的LinkedIn上分享。

什么可行?

进一步思考以上内容,我会得到一个LinkedIn分享网址:

  

https://www.linkedin.com/cws/share?url=http://example.com/entity/1?title=Some%2520title

这样可行。

然而

在我的网页上,我正在使用MVC Razor,显然HTML.Raw()将%2520解码回%20,这将是不正确的。

问题

以正确的方式打印所需网址的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

之前我在一个新闻门户网站工作,我们创建了一个Helper方法,用字母替换字符串中的任何空格以便共享以避免这个问题,我认为这是一个很好的快速解决方案

public static string RemoveSpaceFromTitle(this string text)
{
    if (string.IsNullOrWhiteSpace(text))
       return text;

    return text.Replace(" ", "_");
}