[英]asp.net getting data from a query
我有一個簡單的asp.net數據庫程序。 我有一個名為ChristmasTickets的數據庫,其中包含以下數據: ID , BARCODENUM , NAME , EMAIL ,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.