خنده دار ترین جوک های روز

گلچین خنده دار ترین جوک های روز جوک های خنده دار جک های خیلی خنده دار جوک خنده دار

خنده دار ترین جوک های روز

گلچین خنده دار ترین جوک های روز جوک های خنده دار جک های خیلی خنده دار جوک خنده دار

جوک های خنده دار جوک های خیلی خنده دار جک های خیلی خیلی خنده دار جوک های جدید جوک خنده دار جک خنده دار
جوک جک خنده دار ترین جوک های روز

پیوندهای روزانه
پیوندها

آموزش ViewModel در Asp.net MVC

يكشنبه, ۳ بهمن ۱۳۹۵، ۰۲:۱۴ ب.ظ

به ارسال چند مدل به یک View , ویو مدل می گویند

مثالی در این زمینه:

چگونه ViewModel را ایجاد و استفاده کنیم؟

ابتدا پروژه ای از نوع MVC ایجاد کنید سپس بر روی فولدر Model کلیک راست کنید و گزینه ی Add و سپس class را انتخاب کنید

بهتر است نامی معنا دار برای کلاس ویو مدل خود انتخاب کنید که نشان دهنده ی کاربرد ویو مدل باشد

پیشنهاد می شود از پسوند ViewModel در نام گذاری استفاده کنید

در اینجا ما نام PersonaldetailsFilesViewModel.cs را انتخاب می کنیم برای کلاس های PersonalDetails و Files

کد مربوط به ویو مدل:

public class PersonaldetailsFilesViewModel
{

    // Columns from PersonalDetails table
  [Key]
  [DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGenera
  tedOption.Identity)]
    public int AutoId { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public int Age { get; set; }
    
    public bool Active { get; set; }
    
    // Columns from Files table
    public string FileName { get; set; }


}

سپس کنترلری ایجاد کنید و کدهای زیر را درون آن قرار دهید:

public ActionResult ListCompleteDetails()
        {
            var listWithEmpty = (from p in db.PersonalDetails
                        join f in db.Files
                        on p.AutoId equals f.PersonalDetailsId into ThisList
                        from f in ThisList.DefaultIfEmpty()
                        select new
                        {
                            Active = p.Active,
                            Age = p.Age,
                            AutoId = p.AutoId,
                            FileName = f.FileName,
                            FirstName = p.FirstName,
                            LastName = p.LastName
                        }).ToList()
                       .Select(x => new PersonaldetailsFilesViewModel()
                       {
                           Active = x.Active,
                           Age = x.Age,
                           AutoId = x.AutoId,
                           FileName = x.FileName,
                           FirstName = x.FirstName,
                           LastName = x.LastName
                       });

                  
                  return View(listWithEmpty);
}

سپس بر روی اکشن متد ListCompleteDetails کلیک راست کرده و گزینه ی Add View را انتخاب کنید

asp.net mvc View model

اکنون کدهای زیر را در ویو قرار دهید:

@model IEnumerable<MVCTraining5.Models.PersonaldetailsFilesViewModel>

@{
    ViewBag.Title = "ListCompleteDetails";
}

<h2>ListCompleteDetails</h2>

<p>
   @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.FirstName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.LastName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Age)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Active)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.FileName)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.FirstName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.LastName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Age)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Active)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FileName)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.AutoId }) |
            @Html.ActionLink("Details", "Details", new { id=item.AutoId }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.AutoId })
        </td>
    </tr>
}

</table>

حالا به اجرای پروژه میتوانید خروجی برنامه را مشاهده کنید:

asp.net mvc View model

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.