2013-04-26 83 views

回答

1

假設這是通過當前請求傳遞的,那麼#永遠不會發送到服務器。

您可以在JavaScript中捕獲它,並使用AJAX將其發送到服務器,但這將在不同的請求。


如果你的意思是你有這樣的URL不是當前請求,則可以使用Uri類來解析一個完整的URL,並獲得片段:

var fragment = new Uri(theUri).Fragment; 
var token = fragment.Split(new [] {'&','='}, StringSplitOptions.None)[1]; 
+0

這仍然需要進一步處理,'Fragment'屬性會在'#'後面返回* everything *,所以OP仍然需要解析字符串。我認爲這種場景的首選方法是使用'ParseQueryString'。 – James 2013-04-26 11:44:00

+0

是的,我認爲javascript和ajax是直接的方式! – confusedMind 2013-04-26 11:46:53

+0

@感謝您使用javascript和ajax來完成它的想法! – confusedMind 2013-04-29 04:17:01

0

您可以使用HttpUtility.ParseQueryString解析那麼你可以通過名稱獲得值,例如

NameValueCollection query = HttpUtility.ParseQueryString(querystring); 
string token = query["token"]; 
+0

這在服務器端如何工作?對於'#'後面的值? – Oded 2013-04-26 11:36:29

+0

OP聲明URL是從api服務器*返回的,它沒有提及任何有關該URL的請求。 – James 2013-04-26 11:37:14

+0

公平點。我誤解了。 – Oded 2013-04-26 11:39:47

0

入住這Retrieving Anchor Link In URL for ASP.Net

你不能從服務器端得到它,你將需要採取如果從客戶端的第一個,然後將其傳遞到服務器在一個隱藏字段或類似的東西

相關問題