دسته بندی ها
14:09 1400/02/13

نمایش اطلاعات دیتابیس در تگ Select در Asp.net mvc core

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3714
پاسخ دهنده : fateme 14:23 1400/02/13

نمایش اطلاعات دیتابیس در تگ Select در Asp.net mvc core

 

با یک مثال براتون توضیح میدم که این کار به چه صورتی انجام میشه. فرض کنید که جدولی دارید به نام customer شامل فیلدهای زیر :

public class customer
{
   public int Id {get; set;}
   public string customername {get; set;}
}

خب حالا شما قصد دارید که لیست customer ها یا مشتریان رو درون یک تگ select نمایش بدید. برای این منظور ابتدا در Controller یک متد به نام FillCombo درست کنید :

 

متد FillCombo در کنترلر :

[HttpGet]
public IActionResult Index()
{
    FillCombo();
    return View();
}

private void FillCombo()
{
   List<customer> listcustomer = _context.customer.ToList();
   customer mdl = new customer 
   {
      Id = -1,
      customername = "یک مشتری را انتخاب کنید...",
   };
   listcustomer.Insert(0, mdl);
   ViewBag.CustomerList = listcustomer;
}

خب در کدهای بالا در متد FillCombo یک کوئری اجرا می کنیم که لیست مشتریان را در یک لیست به نام listcustomer نگهداری می کند. سپس برای اینکه در خروجی به کاربر نمایش دهیم که یک مشتری را باید انتخاب کنید یک آیتم به لیست اضافه می کنیم و در نهایت لیست را در یک ViewBag نگهداری می کنیم و از این متد در اکشن Index استفاده می کنیم.

 

حالا باید از این ViewBag در View به نام Index.cshtml استفاده کنیم. بنابراین در View به صورت زیر می تونیم از این اطلاعات استفاده کنیم و اطلاعات دیتابیس رو در تگ Select نمایش بدیم.

 

ویوی index.cshtml

 

@{
    List<customer> CustList = ViewBag.CustomerList;
}

<div>
     <select asp-items="@(new SelectList(CustList ,"Id","customername"))"></select>
</div>

خب حالا اگر پروژه رو اجرا کنید اطلاعات دیتابیس در DropDownList شما نمایش داده میشه.

ویرایش شده در شنبه 18 اردیبهشت 1400 ساعت 05:13:24
به این پاسخ امتیاز بدهید    1
امتیاز: 1617 رتبه: 2
1 نظر
olfat80r : خیلی وقت بود من هم این سوال را داشتم، خیلی ممنون از شما عالی بود

امتیاز کاربر : 5   رتبه کاربر : 110   تاریخ ثبت : 09:15 1400/02/14
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود