我第一次使用MVC4,我試圖創建一個WebService。 但是,當我嘗試此操作時:http://localhost:****/api/mycontroller/?number=1&id=7
我無法從URL中檢索數據。MVC4從URL獲得請求變量
我怎樣才能得到這兩個變量? Request.QueryString["ParameterName"]
導致錯誤,它不識別此功能。
謝謝。
我第一次使用MVC4,我試圖創建一個WebService。 但是,當我嘗試此操作時:http://localhost:****/api/mycontroller/?number=1&id=7
我無法從URL中檢索數據。MVC4從URL獲得請求變量
我怎樣才能得到這兩個變量? Request.QueryString["ParameterName"]
導致錯誤,它不識別此功能。
謝謝。
我假設您指的是允許我們構建RESTful應用程序的WebApi。如果是,那麼在ApiController
中甚至不存在Request
對象,因爲System.Web.Mvc
未被導入。 Controller方法在ApiController中的工作方式與MVC控制器的不同之處在於api方法被使用或稱爲HTTP方法。所以,如果您有:
[HttpGet]
public int Count(int id)
{
return 50;
}
public string Get(int id)
{
return "value";
}
這將默認情況下不工作,沒有添加自定義路線,因爲框架認爲這兩種方法是相同的。關於你的問題,如果你想捕捉查詢字符串的GET不是默認Get(int id)
你應該將它們定義爲方法參數戴夫中提及,像這樣:
public string GetByNumberAndId(int number, int id) {
return "somevalue";
}
,你可以直接調用該方法,你現在就在做:
http://localhost:****/api/mycontroller/?number=1&id=7
你可以在它的official site上了解更多關於WebApi的信息。 This tutorial雖然是一年前寫的,但可以給你一個很好的推動,但它仍然是一個很好的資源。
爲您的動作方法定義添加數字和ID參數 – 2013-03-21 20:43:44