ASP.NET MVC C# 路由 - 传递空整数
我正在 Web 应用程序中使用 MVC 3,但遇到路由问题。
我像这样定义我的路由器处理程序:
routes.MapRoute(
"Users",
"{controller}.aspx/{action}/{id}/{page}", // URL with parameters
new { controller = "Users", action = "Details", id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
);
url 是: http://app.domain /Users.aspx/Details/114142/5 (示例)
我成功获取了用户的 id,但无法获取页码。
用户的控制器是这样初始化的:
public ActionResult Details(long id, int? page)
页面总是返回空(我需要页面作为空整数)。
我定义的路线错误吗?
谢谢
I'm working with MVC 3 in a web app and i'm facing a problem in routing.
I'm defining my router handler like this:
routes.MapRoute(
"Users",
"{controller}.aspx/{action}/{id}/{page}", // URL with parameters
new { controller = "Users", action = "Details", id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
);
The url is: http://app.domain/Users.aspx/Details/114142/5 (example)
I'm sucefully getting the id of the user, but i can't get the page number.
The controller of users is initialized like this:
public ActionResult Details(long id, int? page)
The page is always returning null (i need the page as a null integer).
And i defining the route wrong?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果
page
是可选的,则id
不能是可选的。只有路由定义的last参数是可选的。所以:
然后:
/Users.aspx/Details/114142/5
将成功映射到id
cannot be optional ifpage
is optional. Only the last parameter of a route definition can be optional.So :
and then:
/Users.aspx/Details/114142/5
will successfully map to您使用了错误的网址。
试试这个:
You are using a wrong URL.
Try this: