我在Pro控制器中定义了Details方法,并且我想将此方法映射到多种类型的url。
请检查下面的代码,我尝试使用带有一个参数的另一种方法,并且该方法正在工作,但在这种情况下,它不适用于多个可选参数。
[Route("Vehicles/Details/{no}/{aTab?}/{rs?}/{fp?}")]
[Route("Pro/Details/{no}/{aTab?}/{rs?}/{fp?}")]
[Authorization(SA.PMV, Rights.View)]
public ActionResult Details(string no, string aTab, string rs, bool fp = false)
{
return View();
}
调试中显示错误:
在控制器“ ProController”上找不到公共操作方法“详细信息”。
当我请求以下网址时:
http://www.example.com/Pro/Details?no=sT90Fjts0qI$&aTab=viewdetails&rs=viewdetails&fp=false
答案 0 :(得分:-1)
定义路由的最佳方法是按照以下方式进入route.config
routes.MapRoute("namesearch","Details/{no}/{aTab}/{rs}/{fp}",
new { controller = "controllerName", action = " Details",
no = UrlParameter.Optional, aTab = UrlParameter.Optional,
rs = UrlParameter.Optional ,fp = UrlParameter.Optional});