【问题标题】:asp.net getting data from a queryasp.net 从查询中获取数据
【发布时间】:2017-12-14 08:54:10
【问题描述】:

我有一个简单的 asp.net 数据库程序。我有一个名为 ChristmasTickets 的数据库,其中包含以下数据: IDBARCODENUMNAMEEMAIL、ETC。

如果有人搜索 ID,我可以做一个简单的查找,因为它是关键标识符。

ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.Find(id);

但在我的 HTML 中,我试图允许用户通过 BarcodeNum 而不是 ID 进行搜索。如果找到 BarcodeNumber,我会尝试提取 ID 号。

到目前为止,我有这段代码,它确实给了我一些帮助。

[HttpPost]
public ActionResult Search(SearchBarcode model, int BarcodeNum)
{         
var FoundRecord = db.ChristmasTicketsDb.Where(x => x.BarcodeNum == BarcodeNum);     

//get the ID from quote which does not work....


**int id = //get the id from FoundRecord.**
Trace.WriteLine("GET /ChristmasTickets/Edit/" + id);
if (id == null)
{
    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.Find(id);
if (ChristmasTickets == null)
{
    return HttpNotFound();
}
    return View(ChristmasTickets);
}

有人可以为我指出如何从 FoundRecord 中提取 ID 号的正确方向。

谢谢

【问题讨论】:

  • var FoundRecord 的实际类型是IQuarable<ChristmasTicket>。这意味着它是一个项目的集合。如果你只需要一个,你可以使用这个:ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.FirstOrDefault(x => x.BarcodeNum == BarcodeNum )

标签: c# mysql asp.net visual-studio-2017


【解决方案1】:

db.ChristmasTicketsDb.Where(x => x.BarcodeNum == BarcodeNum); 会给你一个IQueryableChristmasTickets

据推测,这些都有或没有。

要获取您正在搜索的实际元素,您可以使用 Linq FirstOrDefault()(或 SingleOrDefault)而不是 Where

var christmasTicket = db.ChristmasTicketsDb.FirstOrDefault(x => x.BarcodeNum == BarcodeNum);

if (christmasTicket != null) 
{
    // found ! 
    // here you can take the id from christmasTicket

}

【讨论】:

    【解决方案2】:

    你可以这样做:

    [HttpPost]
    public ActionResult Search(SearchBarcode model, int BarcodeNum)
    {         
        var FoundRecord = db.ChristmasTicketsDb.SingleOrDefault(x => x.BarcodeNum == BarcodeNum);         
    
        if (FoundRecord == null)
        {
            return HttpNotFound();
        }
        return View(FoundRecord);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多