我很好奇爲什麼ApiController處理與「常規」控制器不同的動作的默認參數值。MVC中的默認參數值4 Web API
此代碼工作得很好,請求/測試意味着頁面獲得價值1
public class TestController : Controller
{
public ActionResult Index(int page = 1)
{
return View(page);
}
}
當一個請求到/ API /值進行此代碼不能正常工作。它失敗:
「參數字典包含一個空的條目,用於方法System.Collections.Generic.IEnumerable`1 [System.String]的非可爲空的類型'System.Int32'的參數'page'Get( Int32)'in'MvcApplication1.Controllers.Controllers.ValuesController'。一個可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。「
public class ValuesController : ApiController
{
public IEnumerable<string> Get(int page = 1)
{
return new string[] { page.ToString() };
}
}
任何提示爲什麼這是?
謝謝,將閱讀這些博客文章,希望這將清除事情。 – 2012-04-26 10:26:57
今天好像是[FromUri]! – Olaj 2013-02-05 08:53:20