私は.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")
、「メソッド 'Index' のオーバーロードは '1' 引数を取ります」という例外が発生します。MVC.Products.Index()
ただし、呼び出しは機能します。
「ページ」パラメーターはデフォルトで「1」に設定されているため、省略できませんか?
注:ルートで page パラメータをデフォルトの 1 に設定しようとしましたが、うまくいきませんでした。
注 2: [Optional] 属性も試してみましたが、成功しませんでした。