3732
تصمیم گرفتم نام و نام خانوادگی را در یک لیست باز شو نمایش دهیم، با استفاده از ViewModel میتوان این چنین کرد اما میخواستم با همان Model انجام دهیم
در ابتدا کد های ActionResult مربوط به Create اینچنین بود.
public virtual ActionResult Create()
{
ViewBag.CustomerId = new SelectList(db.Customers, "Id", "FirstName");
return PartialView(MVC.HeadAccounts.Views._Create);
}
در کد بالا از t4MVC استفاده شده است و همچنین partial مربوط به Create به صورت bootstrapModal نمایش داده شده است
برا ی تغییر کد را به این صورت تغییر دادیم
public virtual ActionResult Create()
{
var Custom = db.Customers.Select(s => new
{
Id = s.Id,
FullName = $"{s.FirstName}--{ s.LastName}"
}).ToList();
ViewBag.CustomerId = new SelectList(Custom, "Id", "FullName");
return PartialView(MVC.HeadAccounts.Views._Create);
}
اما باز هم با خطا مواجهه شدم ، برای رفع مشکل کافی است .AsEnumerable() را به Linq اضافه کنیم ، و کد نهایی به این صورت خواهد بود
public virtual ActionResult Create()
{
var Custom = db.Customers.AsEnumerable().Select(s => new
{
Id = s.Id,
FullName = $"{s.FirstName}--{ s.LastName}"
}).ToList();
ViewBag.CustomerId = new SelectList(Custom, "Id", "FullName");
return PartialView(MVC.HeadAccounts.Views._Create);
}