首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ASP中用HttpGet指定默认视图

如何在ASP中用HttpGet指定默认视图
EN

Stack Overflow用户
提问于 2018-06-28 05:07:31
回答 3查看 225关注 0票数 1

我正在尝试从Startup.cs调用视图(如下所示)。控制器被称为AppController,方法是索引。

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方法。我认为问题是在我的索引控制器上我有一个HttpGet,因为我有一个我想要在该页面上提交的表单(它正在工作)

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

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

EN

回答 3

Stack Overflow用户

发布于 2018-06-28 05:16:31

您只需使用:

[HttpGet("")]

或者只是

[HttpGet]

而不是

[HttpGet("index")]

HttpGet属性需要一个模板,因此通过向该属性添加一个string,您意味着只有当相对url为"/Index“时,您的操作才会中断。因此,请使用绝对URL "http://localhost:8000/index”。

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

票数 3
EN

Stack Overflow用户

发布于 2018-06-28 05:16:31

我在allow for multiple routes to be mapped to the same action中添加了以下内容

[HttpGet("")]
[HttpGet("index")]
public IActionResult Index()
{
    return View();
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-29 23:33:24

[HttpGet]会很好的。您还应该检查Routing documentation in ASP.NET Core Docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51071420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档