ایجاد Strongly Typed View List در MVC
سه شنبه 7 اردیبهشت 1395Strongly typed view از ویژگی های خوب در ASP.NET MVC است ، که می توانیم با استفاده از آن به خواص مدل در view دسترسی داشته باشیم و View را با هر Model اتصال بدهیم.
برای ایجاد Strongly Typed View List در مراحل زیر را انجام میدهیمMVC
مرحله 1: ایجاد یک برنامه ASP.NET MVC با انتخاب Empty Template
مرحله 2: در پوشه مدل راست کلیک کنید و یک کلاس جدید به نام 'Student.cs اضافه کنید.
مرحله 3: درStudent.cs سه property مانند Roll no ، Name وLastName ایجاد میکنیم.
public class Student { public int RollNo { get; set; } public string StudFirstName { get; set; } public string StudLastName { get; set; } }
گام 4: روی کنترلر راست کلیک کرده و new Empty Controller را اضافه کنید
مرحله 5: کنترلری به نام بسازیدStudentController
مرحله 6: فایل را StudentControllerباز کرده و لیستی از Student،ایجاد میکنیم و RollNo ، Name و ... را به آن اختصاص میدهیم
در نهایت شی Stud به ViewData.Model اختصاص میدهیم.
public ActionResult Index() { List<Student> stud = new List<Student> { new Student { RollNo=1, StudFirstName="kolsum", StudLastName="Ebrahimi" }, new Student { RollNo=2, StudFirstName="Sara", StudLastName="Bahri" } }; ViewData.Model = stud; return View(); } }
مرحله 7: در حال حاضر، روی Index در StudentController راست کلیک کرده و Add View را انتخاب میکنیم .
در باکس محاوره ای Add View ، از قسمت Modelclass مدل Student (Strongly_Typed.Models)، و را 'Listاز زبانه Tamplate انتخاب کنید و بر روی Add کلیک کنید .
یک Student View درپوشه View که در زیر نمایش داده شده ، ایجاد میشود .
حالا برنامه را اجرا کنید، آن را به اطلاعات دانش آموزان نشان می دهد.
خلاصه
بنابراین دو مزیت اصلی در اینجا برای strongly typed view وجود دارد.
1. پشتیبانی از IntelliSense .
2. ViewModel به طور خودکار scaffolded خواهد شد.
بنابراین در اینجا ، زمانی که ما یک View ایجاد کنیم ، قالبی برای لیست انتخاب میشود و ViewModel به طور خودکار scaffolded است.
<table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.RollNo) </th> <th> @Html.DisplayNameFor(model => model.StudFirstName) </th> <th> @Html.DisplayNameFor(model => model.StudLastName) </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.RollNo) </td> <td> @Html.DisplayFor(modelItem => item.StudFirstName) </td> <td> @Html.DisplayFor(modelItem => item.StudLastName) </td> <a href="#">@item.RollNo</a> </tr> } </table>
- ASP.net MVC
- 1k بازدید
- 3 تشکر