c# - 如何在 ASP Core 中使用 HttpGet 指定默认 View

标签 c# asp.net-core

我正在尝试从 Startup.cs(如下)调用 View 。 Controller 称为 AppController,方法是 Index。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseDeveloperExceptionPage();
    app.UseStaticFiles();

    app.UseMvc(routes =>
    {
        routes.MapRoute(
        name: "default",
        template: "{controller=App}/{action=Index}");
    });
}

当我启动我的应用程序 ( http://localhost:8000/ ) 时,我收到 404 错误。我以为上面我设置了默认值以映射到 AppController.cs 中的 Index 方法。我认为问题是在我的索引 Controller 上我有一个 HttpGet 因为我有一个要在该页面上提交的表单(正在运行)

[HttpGet("index")]
public IActionResult Index()
{
    return View();
}

当我转到 http://localhost:8000/index 时,索引页面按预期显示.我在 Configure 中做错了什么吗?

最佳答案

你应该只使用:

[HttpGet("")]

或者只是

[HttpGet]

代替

[HttpGet("index")]

HttpGet 属性需要一个模板,因此通过将 string 添加到此属性,您表示仅当相对 url 为“/Index”时才会触发您的操作,因此使用绝对 URL“http://localhost:8000/index”。

如果您希望默认路由按照您配置的那样工作,那么您应该删除属性中的 string

关于c# - 如何在 ASP Core 中使用 HttpGet 指定默认 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51071420/

相关文章:

c# - 在 Linq 中不符合条件

c# - 如何从方法返回 LINQ 对象?

asp.net-core - reloadOnChange 在 .NET Core 2 中不起作用

.net - 如何使用 IHostingEnvironment

c# - 用于集成测试的 ASPNet.Core 托管环境?

c# - 如何在 C# 中创建 UDP 服务器?

c# - 在 LINQ 语句中添加条件

c# - .Net 程序集绑定(bind)引用问题

asp.net-core - .NET Core - 自包含部署不起作用

c# - 为什么在增加用户时使用 IHttpClientFactory 会出现 .NET Core API 性能问题?