【发布时间】:2012-04-19 17:38:12
【问题描述】:
我很好奇为什么 ApiController 处理动作的默认参数值与“常规”控制器不同。
这段代码工作得很好,请求 /Test 意味着页面得到值 1
public class TestController : Controller
{
public ActionResult Index(int page = 1)
{
return View(page);
}
}
当向 /api/Values 发出请求时,此代码不起作用。它失败了:
“参数字典包含不可为空类型'System.Int32'的参数'page'的空条目,用于方法'System.Collections.Generic.IEnumerable`1[System.String] Get(Int32)' in ' MvcApplication1.Controllers.Controllers.ValuesController'。可选参数必须是引用类型、可空类型或声明为可选参数。"
public class ValuesController : ApiController
{
public IEnumerable<string> Get(int page = 1)
{
return new string[] { page.ToString() };
}
}
关于这是为什么的任何提示?
【问题讨论】:
标签: asp.net-mvc-4 asp.net-web-api