2010-03-05 33 views
0

我有以下方法:ASP.Net和NameValueCollection中

public object[] GetEventsByUser(DateTime start, DateTime end, string fullUrl) 

的fullUrl的值是:

http://localhost:50435/page/view.aspx?si=00&us=admin&ut=smt&

當我這樣做:

NameValueCollection qscoll = HttpUtility.ParseQueryString(fullUrl); 

我得到:

{HTTP%3A%2F%2flocalhost%3a50435%2fpage%2fview.aspx%3fsi = 00 &我們=管理員& UT = SMT &}

但我需要獲得該頁面的查詢字符串參數,使用此值,我無法獲得「si」值,因爲啓動查詢字符串的問號已編碼。 所以我想:「humm ...我應該嘗試做HttpUtility.HtmlEncode()」然而,HtmlEncode方法返回void:然而,此方法的第二個參數將值發送到TextWriter。但它不是NameValueCollection。

也許解決辦法很簡單......但我無法看到它。

回答

1

你需要分析,這樣的前修剪下來,只是在查詢字符串:

if (fullUrl.Contains("?")) { 
    fullUrl = fullUrl.Substring(fullUrl.IndexOf("?") + 1); 
} 
NameValueCollection qscoll = HttpUtility.ParseQueryString(fullUrl); 
1

你可以嘗試:

var si = Request["si"]; 
var user = Request["us"]; 
//etc. 
+1

你的意思是'的Request.QueryString [ 「SI」]'。 – 2010-03-05 21:57:46

+0

我的意思是:請求[「xy」],我改變了這個。 – Robert 2010-03-05 22:32:59

相關問題