我使用.NET 3.5,MVC 2和T4MVC 2.6.42 ...T4MVC - 可选参数处理
我有以下作用:
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" }
);
但是,当我尝试呼叫我得到一个“方法没有超载索引'需要'1'参数”例外。然而,调用MVC.Products.Index()
的作品。
因为它默认为'1',我不应该忽略“page”参数吗?
注意:我试过默认页面参数为1的路线,没有工作。
注2:也试过[Optional] Attribute没有成功。
我们可以看到完整的堆栈跟踪吗? – 2011-04-17 19:54:59
@KirkWoll对不起,我设法找到解决方案。显然,可选参数是一个C#4.0的东西([文档](http://msdn.microsoft.com/en-us/library/dd264739.aspx)指出VS2010)。奇怪的是,当我在C#3.0中声明类似的方法时,我没有遇到编译器错误。 – 2011-04-18 01:38:23