C# 如何在ASP核心中使用HttpGet指定默认视图
我正在尝试从Startup.cs(以下)调用一个视图。控制器名为AppController,方法为IndexC# 如何在ASP核心中使用HttpGet指定默认视图,c#,asp.net-core,C#,Asp.net Core,我正在尝试从Startup.cs(以下)调用一个视图。控制器名为AppController,方法为Index public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseDeveloperExceptionPage(); app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDeveloperExceptionPage();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=App}/{action=Index}");
});
}
当我启动我的应用程序()时,我得到一个404错误。我以为上面我是在设置默认值以映射到AppController.cs
中的Index
方法。我认为问题在于,在我的索引控制器上,我有一个HttpGet
,因为我有一个表单要在该页面上提交(它正在工作)
当我转到时,索引页将按预期显示。我是否在配置中出错?您应该使用:
[HttpGet("")]
或者只是
[HttpGet]
而不是
[HttpGet("index")]
HttpGet
attribute需要一个模板,因此,通过向该属性添加string
,您表示只有当相对url为“/Index”时,您的操作才会被命中,因此使用绝对url“”
如果希望默认路由按配置方式工作,则应删除属性中的字符串。只需使用:
[HttpGet("")]
或者只是
[HttpGet]
而不是
[HttpGet("index")]
HttpGet
attribute需要一个模板,因此,通过向该属性添加string
,您表示只有当相对url为“/Index”时,您的操作才会被命中,因此使用绝对url“”
如果希望默认路由按配置方式工作,则应删除属性中的字符串。我添加了以下内容:
我添加了以下内容:
[HttpGet]
就可以了。您还应该检查[HttpGet]
是否正常。您还应该检查