美文网首页
Asp.Net Core 6 自定义路由

Asp.Net Core 6 自定义路由

作者: 寻找无名的特质 | 来源:发表于2021-11-22 05:59 被阅读0次

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);
        }
    }
}

相关文章

网友评论

      本文标题:Asp.Net Core 6 自定义路由

      本文链接:https://www.haomeiwen.com/subject/jskltrtx.html