Tôi tò mò tại sao ApiController xử lý giá trị tham số mặc định trên các hành động khác với Bộ điều khiển 'thông thường'.Giá trị tham số mặc định trong MVC 4 Web API
Mã này chỉ hoạt động tốt, yêu cầu/Kiểm tra nghĩa trang được giá trị 1
public class TestController : Controller
{
public ActionResult Index(int page = 1)
{
return View(page);
}
}
Mã này không hoạt động khi một yêu cầu được thực hiện để/api/giá trị. Nó không thành công với:
"Từ điển thông số chứa mục nhập rỗng cho tham số 'trang' của loại không thể loại 'System.Int32' cho phương thức 'System.Collections.Generic.IEnumerable`1 [System.String] Get (Int32) 'in' MvcApplication1.Controllers.Controllers.ValuesController '. Một tham số tùy chọn phải là một kiểu tham chiếu, một kiểu nullable, hoặc được khai báo như một tham số tùy chọn. "
public class ValuesController : ApiController
{
public IEnumerable<string> Get(int page = 1)
{
return new string[] { page.ToString() };
}
}
Mọi gợi ý về lý do này là gì?
Cảm ơn, sẽ đọc những bài đăng trên blog này, hy vọng rằng mọi thứ sẽ rõ ràng. –
Có vẻ như đó là [FromUri] nowdays! – Olaj