簡體   English   中英

asp.net從查詢中獲取數據

[英]asp.net getting data from a query

我有一個簡單的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號的正確方向。

謝謝

db.ChristmasTicketsDb.Where(x => x.BarcodeNum == BarcodeNum); 將為您提供IQueryable of ChristmasTickets

據推測,這些都不是其中之一。

要獲取要搜索的實際元素,可以使用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

}

您可以這樣做:

[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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM