با سلام
درپروژه ای با گرفتن تعداد سال های محاسبات، فرم جدیدی ایجاد می شود که دارای فیلد های به تعداد سالهای محاسبه است.
مثلا، در فرم 1 کاربر عدد 3 را در فیلد سال را وارد می کند.
با داشتن یک حلقه در فرم 2، به تعداد سال ها فیلد های Int و double تولید می شود. پس در فرم 2، دارای 3 سطر خواهیم بود که اعداد int و double دریافت می کند. و سالها و درصد محاسبات وارد آن می شود.
برای این کار ViewModel ساخته شده که int و double می باشد.
مساله:
بعد از زدن دکمه ثبت در فرم 2 ، در ActionResult کنترلر ، به صورت HttpPost، می خواهم، یک لیست دریافت کنم. که از ViewModel فرم ساخته شده باشد.
این لیست را چگونه بسازیم یا دریافت کنیم؟
بعنوان ورودی اکشن یک لیست از نوع مدل صفحه بگیرید
فکر کنم سوال رو بد گفتم. سوال همینه که شما جواب دادید!
چجوری میشه در View یک لیست از ViewModel ساخت و پر کرد و به Controller ارسال کرد؟
@model List<ModelBinding_Example.Models.Person> @{ ViewBag.Title = "TestList"; } <h2>TestList</h2> @using (Html.BeginForm()) { <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model[0].Name) </th> <th> @Html.DisplayNameFor(model => model[0].Family) </th> <th> @Html.DisplayNameFor(model => model[0].Age) </th> </tr> @for (int i = 0; i < Model.Count; i++) { <tr> <td> @Html.TextBoxFor(m=>m[i].Name,new{@class="form-control"}) </td> <td> @Html.TextBoxFor(m => m[i].Family, new { @class = "form-control" }) </td> <td> @Html.TextBoxFor(m => m[i].Age, new { @class = "form-control" }) </td> </tr> } </table> <input type="submit" class="btn btn-default" value="Send"/> }
public ActionResult TestList() { List<Person> People=new List<Person>() { new Person(){Name = "iman",Family = "madaeny"}, new Person(){Name = "sara",Family = "rezaei"}, new Person(){Name = "mina",Family = "mohammadi" }, new Person(){Name = "ali",Family = "mohseni"}, }; return View(People); } [HttpPost] public ActionResult TestList(List<Person> list ) { return null; }
خیلی خیلی متشکرم
بسیار خوب
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)