2015-10-22 46 views
0

在MVC中有一個完整的花式路由引擎,它工作得很好,並將請求指向/ home/index(用於「空」)請求。如何確保我有一個「空白」的MVC主頁請求

我需要支持一些可怕的遺留代碼,有時當QueryString和/或路徑不爲空時,我需要做特殊的事情。

我怎麼知道(當我在/ home /指數是),實際的要求是:

  1. 的網站
  2. 的根,沒有任何形式的參數?

我嘗試:

if (Request.QueryString.HasKeys() || Request.Path.Length > 1) 
+1

對於路徑,爲什麼不添加更多和更具體的路線?對於查詢字符串,在不知道需要發生什麼「特殊事情」的情況下,可以使用[action filter](https://msdn.microsoft.com/en-us/library/dd381609(v = vs.100).aspx)成爲一個好的候選人(你會期待查詢字符串和觸發器邏輯,重定向或其他)。 –

+0

嗨丹尼爾,謝謝,問題是我也不知道所有的「特殊事物」。我只是想將所有奇怪的查詢請求發送到用於處理它們的.aspx頁面,而我將遷移到mvc。 – user230910

回答

1

在你的控制器爲給定的方法將返回要被重定向到,如果有需要引用查詢字符串參數來看,它們作爲參數:

public ActionResult Index(int someValue, string someText) 
{ 
return View(); 
} 

如果你需要去這些索引的查詢字符串參數是否已經包含,或者

  1. 使參數可選。
  2. 重載未指定參數的方法。
+0

您好乍得,謝謝,但問題是,mvc代碼是完美的,沒有參數或查詢字符串的東西,和舊的asp.net代碼是可怕的。我想將具有查詢字符串和/或路徑的所有請求發送到.aspx頁面。這個答案允許我做相反的事情,雖然方便,但不能解決我的問題。 – user230910

相關問題