【发布时间】:2015-10-21 20:43:55
【问题描述】:
我在C# V.4 中有一个非常简单的函数,在这个函数中page 是一个可选参数,即我通常调用mysite.com/product/PaginationOfProducts/20 但对于某些分页控件我必须调用mysite.com/product/PaginationOfProducts/20?page=2 但在构建我的解决方案时我得到了optional parameters must appear after all required parameters的错误
public ActionResult PaginationOfProducts(int id = 0, int ? page)
{
// do something
}
我不明白 VS 是如何决定 page 不是我的可选参数,即使我将它定义为 null-able int
【问题讨论】:
-
您是否使用任何特定路线? - 你应该有
url: .../{id}/{page}和page = UrlParameter.Optional -
可选参数在运行时是“可选的”,因为您在编译时提供了一个值。简单地将可空值作为您的最终参数并不会使其成为可选参数,因为您要求编译器为您决定哪个不好。
标签: c# asp.net asp.net-mvc optional-parameters