Asp.Net Core 6 自定义路由

Asp.Net Core缺省的路由是控制器名和动作名作为url中页面的路径比如/Home/Index,路由为:

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

id可以缺省。如果我们希望使用一个控制器处理多个页面或者url的路径可以更好地反应特定的需求,我们可以定义自己的路由。比如,我们希望文章浏览页面的Url是/Article/{Title},这种形式的,处理多个文章的控制器是相同的。再比如,我们希望使用相同的控制器加载不同的视图文件,可以使用下面的路由:

app.MapControllerRoute(
    name: "menumanagement",
    pattern: "MenuManagement/{PageName}",
    defaults:new {controller="PuView",action= "ViewPage", FolderName= "MenuManagement" });

对应的控器如下:

    public class PuViewController : Controller
    {
        public IActionResult ViewPage(string FolderName, string PageName)
        {
            var path = "~/Views/" + FolderName + "/" + PageName + ".cshtml";
            return View(path);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容