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);
}
}
}
网友评论