我使用.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