Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制器中的ASP.NET核心MVC子操作_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# 控制器中的ASP.NET核心MVC子操作

C# 控制器中的ASP.NET核心MVC子操作,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我有一个带有用户方法的管理控制器。我想在这个方法中添加一个“新”的子动作,它有一个新的视图。URL应如下所示:/administration/users/new 我该怎么做 谢谢你的帮助 这实际上只是一个关于路由的问题。只需在Administration controller中添加一个方法,并使用route属性告诉MVC该路由是什么。例如: public class AdministrationController : Controller { public ActionResult U

我有一个带有用户方法的管理控制器。我想在这个方法中添加一个“新”的子动作,它有一个新的视图。URL应如下所示:/administration/users/new

我该怎么做


谢谢你的帮助

这实际上只是一个关于路由的问题。只需在Administration controller中添加一个方法,并使用
route
属性告诉MVC该路由是什么。例如:

public class AdministrationController : Controller
{
    public ActionResult Users()
    {
    }

    [Route("users/new")] //This is the important part here
    public ActionResult NewUser()
    {
    }
}

您还可以在
Startup.cs
类中配置路由,但我发现使用属性路由更容易。有关更多信息,请参阅。

您可以使用多种方法来执行此操作

尝试属性

[Route("users/new")]
public IActionResult New()
{
    return View();
}
我猜你的意思是“面积”

因此,在Asp.NETCore2路由中,有区域、控制器、操作和可选参数

您可以对路由中间件进行如下配置。可以在控制器上指定区域属性

管理员将是区域-用户将是控制器,新的将是操作。 这应该保持代码的整洁,因为这只是使用默认的路由中间件

要更好地了解这些领域,请参阅:


请将您的代码添加到问题中。我设置了一个管理区域并复制了所有内容,之后我发现视图中的标记帮助程序不起作用。我搜索了一下,只找到了这个解决方案:
@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers
这是唯一的解决方案吗?谢谢@TeraNovaLP-这似乎是我们必须用于标记助手的语法。我找不到其他方法来解决这个问题。请参阅
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?}"
);