相关疑难解决方法(0)

在ASP.NET MVC 4中使用和不使用控制器名称进行路由

我正在使用ASP.NET MVC 4,我在设置路由时遇到了一些问题.您能否告诉我如何设置我的路由以将URL指向操作,如下所示:

  • "/"(或"/ Start")=> PublicController.Start()
  • "/ About"=> PublicController.About()
  • "/ MyPage"(或"/ MyPage/Summary")=> MyPageController.Summary()
  • "/ MyPage/Invoices"=> MyPageController.Invoices()
  • "/ MyPage/Invoice/72"=> MyPageController.Invoice(int id)

这是网址"/关于"让我感到烦恼,即一个没有指定控制器的网址.如果我使那个工作指定控制器的其他人停止工作.我可以为"/ About"创建一个单独的控制器,我想,但是如果我不需要,我宁愿不这样做(我有更多的网址遵循该模式).

asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

14
推荐指数
1
解决办法
1万
查看次数

忽略特定操作的控制器路由属性

我的控制器上有很多操作,如果可能的话,我只想将特定路由用于一个操作。我正在寻找一种方法来覆盖在控制器级别定义的路由。

[Route("api/candidate/attached-file")]
public class AttachedFileController : Controller
    {
        //overriding controller route
        [HttpPost("api/candidate/{id}/attached-file")]
        public async Task<IActionResult> AttachFile(string id, [FromBody] AttachedFile file)
        {
            ...
        }

        //using controller route
        [HttpGet("{id}")]
        public ActionResult Get(string id) {}

        [HttpGet]
        public ActionResult GetAll() {}

        ...
    }
Run Code Online (Sandbox Code Playgroud)

c# routing asp.net-core

8
推荐指数
1
解决办法
1921
查看次数