【问题标题】:Mvc attribute routing issue with multiple parameters具有多个参数的 Mvc 属性路由问题
【发布时间】:2018-12-31 20:08:59
【问题描述】:

我在 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

【问题讨论】:

  • 只有最后一个参数可以标记为可选
  • 让我知道给出你提到的错误的网址。

标签: c# asp.net-mvc asp.net-mvc-routing attributerouting


【解决方案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});

【讨论】:

    猜你喜欢
    • 2023-01-25
    • 2014-10-18
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多