作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 .NET 3.5、MVC 2 和 T4MVC 2.6.42...
我有以下操作:
public virtual ActionResult Index(string id, int page = 1)
以及以下路线:
routes.MapRoute(
"Products", // Route name
"Products/{id}", // URL with parameters
new { controller = "Products", action = "Index", id = UrlParameter.Optional, page = UrlParameter.Optional }, // Parameter defaults
new string[] { "Web.Controllers" }
);
但是,当我尝试调用 MVC.Products.Index("anything")
时,我收到“No overload for method 'Index' takes '1' arguments”异常。然而,调用 MVC.Products.Index()
是有效的。
难道我不能省略“page”参数,因为它默认为“1”吗?
注意:我试过在路由中将页面参数默认为 1,但没有用。
注意 2: 还尝试了 [Optional] Attribute没有成功。
最佳答案
虽然您发现了错误的 C# 版本的问题,但为了将来引用,有一种方法可以做到这一点。你可以这样写:
MVC.Products.Index().AddRouteValue("id", "anything");
除了方法调用传入的内容之外,这还允许您为单个参数添加值。
关于c# - T4MVC - 处理可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695931/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!