2012-09-14 104 views
2

好吧,這是一個有點棘手。我在ASP.NET MVC 3中實現了一個論壇。用戶想發佈一個問題,如果沒有登錄,他會被重定向到登錄頁面。一個returnUrl參數被傳遞給登錄頁面。但是,returnUrl參數還包含另一個returnUrl參數。所以傳遞到登錄頁面的RETURNURL參數如下:ASP.NET MVC嵌套查詢參數

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8" 

但是,請求[「RETURNURL」]是這樣的:

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8,/forum/Board/8" 

通知在末尾附加位,該不該」應該在那裏嗎?我如何獲得正確的returnUrl?

然而,其在控制器的操作方法的字符串參數RETURNURL時,這將有正確的RETURNURL值。

回答

0

我在MVC3中也遇到了這個問題,檢查重定向頁面是否是「登錄」,設置了一個標誌,而不是添加returnUrl參數(這是最後一個附加位)。

這樣,它不會再次填充。

+0

在這種情況下,我結束了使用控制器操作的字符串RETURNURL參數,因爲它工作正常,即使嵌套參數。我只是好奇如何從請求中獲得相同的結果。顯然,asp.net的MVC知道如何做到這一點,否則操作參數不正確設置,但到現在爲止我還沒有發現如何。我也不明白爲什麼結果與獲取查詢參數的兩種不同方式有所不同。 – Wout