我有一个带有Users方法的管理控制器。我想在此方法中添加带有新视图的“新”子动作。该网址应如下所示:/ administration / users / new
我该怎么做?
感谢您的帮助!
答案 0 :(得分:2)
这实际上只是有关路由的问题。只需在管理控制器中添加一个方法,并使用Route
属性告诉MVC路由是什么。例如:
public class AdministrationController : Controller
{
public ActionResult Users()
{
}
[Route("users/new")] //This is the important part here
public ActionResult NewUser()
{
}
}
您还可以在Startup.cs
类中配置路由,但是我发现使用属性路由更容易。有关更多信息,请参见here。
答案 1 :(得分:0)
您可以使用几种方法来做到这一点 Routes at .net core
尝试属性
[Route("users/new")]
public IActionResult New()
{
return View();
}
答案 2 :(得分:0)
我猜你的意思是“区域”。
因此,在Asp.Net Core 2路由中,存在区域,存在控制器,行为和可选参数。
您可以将路由中间件配置为类似内容。您可以在控制器上指定区域属性。
管理员将是区域-用户将是控制器,新将是操作。 这应该使代码保持干净,因为它仅使用默认的路由中间件。
要更好地了解区域,请参阅:https://tahirnaushad.com/2017/08/25/asp-net-core-2-0-mvc-areas/
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=dashboard}/{action=index}/{id?}"
);
routes.MapRoute(
name: "default",
template: "{controller=home}/{action=index}/{id?}"
);