asp.net получает данные из запроса

0

У меня простая программа базы данных asp.net. У меня есть база данных под названием ChristmasTickets с данными для: ID, BARCODENUM, NAME, EMAIL, ETC.

Я могу сделать простую находку, если кто-то искал идентификатор, потому что его ключевой идентификатор.

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

Но в моем HTML я пытаюсь разрешить пользователю искать по BarcodeNum, а не идентификатор. Если найден BarcodeNumber, я пытаюсь вывести идентификационный номер.

У меня есть этот код до сих пор, что мне помогает.

[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.

Спасибо

Теги:
visual-studio-2017

2 ответа

1
Лучший ответ

db.ChristmasTicketsDb.Where(x => x.BarcodeNum == BarcodeNum); Вы IQueryable из 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

}
  • 0
    хороший и понятный ответ, 10 баллов от меня
  • 0
    Спасибо! Работает отлично.
0

Вы можете сделать это следующим образом:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню