首页 文章

MVC Routing提供Object引用异常

提问于
浏览
0

对于.NET Core 2.1,我有以下路由设置;

app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default_id",
                    template: "{controller=Home}/{action=Index}/{id?}");

            });

并跟随控制器;

public async Task<ActionResult> Index(Guid id = default(Guid)){
 }

如果我访问喜欢;

http://localhost.example.com:5002/Users/Index/09e3eca9-6c66-09ed-701e-aa26dfab3dd2?Title=Adam

工作正常,但以下错误:

http://localhost.example.com:5002/Users/Index/

NullReferenceException:未将对象引用设置为对象的实例 .

我的设置无法解决无参数索引操作 .

我在这里错过了什么吗?

PS:我不想使用Controller / Action属性 . 如果可能的话我想在 Startup.cs 解决它

不是答案,但在搜索时我发现了这个:https://github.com/aspnet/Mvc/issues/7518

似乎问题已经解决,但我仍然遇到同样的问题 .

1 回答

  • 0

    我在ASP.Net Core文档上找不到任何内容,但是查看ASP.NET Web API 2 Documentation以及Tutorial,我认为您需要使用以下两个选项之一:

    [Route("Home/Index/{id:Guid?}")]
    public async Task<ActionResult> Index(Guid id = default(Guid))
    {
    }
    
    [Route("Home/Index/{id:Guid=default(Guid)}")]
    public async Task<ActionResult> Index(Guid id)
    {
    }
    

相关问题