C# 将参数传递给MVC核心中的索引列表控制器

C# 将参数传递给MVC核心中的索引列表控制器,c#,asp.net,entity-framework,asp.net-core-mvc,C#,Asp.net,Entity Framework,Asp.net Core Mvc,我对此代码有问题,它总是给我空结果: public async Task<IActionResult> Index(int? sipno) { var kolaycam_acsgoContext = _context.siparis_detay .Where(s => s.Siparis_no == sipno); return View(await kolaycam_acsgoContext.To

我对此代码有问题,它总是给我空结果:

        public async Task<IActionResult> Index(int? sipno)
    {
        var kolaycam_acsgoContext = _context.siparis_detay
            .Where(s => s.Siparis_no == sipno);
        return View(await kolaycam_acsgoContext.ToListAsync());
    }
但如果我不使用像这样的参数,它就会工作。我做错了什么

        public async Task<IActionResult> Index()
    {
        var kolaycam_acsgoContext = _context.siparis_detay
            .Where(s => s.Siparis_no == 901120);
        return View(await kolaycam_acsgoContext.ToListAsync());
    }

梅尔哈巴·图汗·霍卡姆·纳什·纳森

我认为问题是变量类型int?sipno变量可能为空 另一个问题是s=>s.Siparis\u没有属性类型

是整数吗?如果使用相同的类型进行比较并不重要

你调试了吗?如果您这样做了,sipno的价值是什么


请查看此答案并报告您的结果

我发现了那个愚蠢的错误,当我将sipno更改为id时,它起了作用

public async Task<IActionResult> Index(int? id)
{
    var kolaycam_acsgoContext = _context.siparis_detay
        .Where(s => s.Siparis_no == id);
    return View(await kolaycam_acsgoContext.ToListAsync());
}

如何从您的视图中调用Index方法?sipno的值是多少?你调试了吗?我在第二个代码中使用了具有相同值的sipno。顺便说一下,是我的url。除非您将sipno设置为路由值,否则您需要使用localhost:44364/siparis_detay/index?sipno=901120才能运行。您可以使用int?id和s.Siparis_no==id或[FromRouteName=id]int?梅尔哈巴·巴拉恩·特伊克尔·埃德里姆·森:我用它得到了同样的结果,但它没有。类型是int,我不知道我们为什么使用?但我使用它是因为其他的样品。在我的第二个代码中,一切都很好。Teşekkürler:int和int?不同类型。如果sipno类型是int?那么,西帕里斯链球菌就不必是同一种了。请告诉我调试结果和sipno变量值?