c# - 文件夹内的 MVC 路由

标签 c# asp.net-mvc model-view-controller routes asp.net-mvc-areas

我已经构建了一个带有 Controller 和 View 以及以下路由的标准 MVC 应用程序:-

routes.MapRoute
(
  name: "PageNumber",
  url: "{controller}/{action}/page-{pageNumber}",
  defaults: new { controller = "Home", action = "PageNumber" }
);
routes.MapRoute
(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);

因为这是一个后端系统,所以前面会有一个基本的HTML网站。这意味着我需要将我的站点路由到一个子文件夹中,以便 URL 看起来像这样:-

SubFolder/Controller/Action/{id}

在不更改所有硬编码链接以包含此子文件夹的情况下,我该如何做到这一点。我不能为此使用 MVC 区域,所以想知道是否有一种方法可以更改路由以自动预先添加 URL 的 SubFolder 位?

谢谢!

最佳答案

你可以创建一条新路线:

 routes.MapRoute(
            name: "Subfolder",
            url: "Subfolder/{controller}/{action}/{id}",
            defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
        );

但是您不应该对链接进行硬编码,如果您 future 打算替换基本的 HTML 页面,您可以使用 @Html.ActionLink 为您生成 anchor 标记。

关于c# - 文件夹内的 MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33936991/

相关文章:

java - 如何在 JavaFX MVC 中通过模型更新 View ?

PHP设计模式

c# - 数据 View 和数据表有什么区别?

C# TaskFactory 未完成所有迭代

javascript - Ondropdown 更改动态设置的标签值熄灭

javascript - MVC 和 Jquery 验证 : Disabled Dropdownlists gets validate, 如何让它不发生

c# - 使用 JavaScript 将 visible 属性设置为 false 时删除空白区域

c# - 进程启动和模拟

c# - 在 MVC 5 中构建动态 JSON 响应 - 如何将属性附加到结果集?

java - 基于EJB架构的应用程序的HTTP和UI层面是什么技术?