2017-01-03 63 views
0

背景使用MVC Razor優化LinkedIn分享空間的最佳方式是什麼?

我有一個網址與標題參數在LinkedIn分享:some title

爲了能夠將此標題添加到URL中,空間需要被%20替換,但顯然LinkedIn Share需要雙重編碼,所以%也需要進行編碼。

這意味着空格變爲%2520

如果我手動更正我的網址,那麼它會在我的LinkedIn上共享。

什麼工作

以上進一步思考,我會得到一個LinkedIn共享網址像這樣:

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

這會工作。

然而

在我的網頁我使用MVC剃刀,顯然HTML.Raw()解碼%2520%20,這將是不正確的。

問題

什麼是打印所需的URL以正確的方式最好?

+1

什麼關於使用URL-Shortener API來解決這個問題! ..你有很多選擇(google,bitly .. –

+0

@AhmedRagheb:可悲的是,這不是我現在可以做出的決定,我只需要實現一個非常快速的修復,必須按原樣工作。 – Spikee

+0

檢查我的答案,希望它解決你的問題 –

回答

2

我是在一個新聞門戶網站工作之前,我們創建了一個助手方法以替換字符串下劃線分享任何空間也避免了這個問題,我認爲這是一個很好的快速解決方案

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

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

這是有效的,但這是令人驚訝的,因爲我希望我分享的頁面會顯示'some_title'作爲文本,但它沒有。怎麼回事?另外,我想我冒着引入錯誤的風險數據 – Spikee

+1

@Spikee stackoverflow這樣做的問題標題和標籤,這是一個常見的技巧,以避免這個問題,如果你檢查隨機網站,你會發現他們這樣做 例如:http://edition.cnn.com/2017/01/02/autos/9-luxury-cars-that-will-dominate-the-road-in-2017 –

+0

@Spikee如果它有效,請將其標記爲已解決,以便其他人可以使用相同的答案 –

相關問題