مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

syazdian

عضویت از 1393/07/28

برگرداندن یک لیست از فیلد های داینامیک در View به Controller در حالت HttpPost

  • شنبه 8 آبان 1395
  • 18:01
تشکر میکنم

با سلام

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

 

مثلا، در فرم 1 کاربر عدد 3 را در فیلد  سال را وارد می کند.

با داشتن یک حلقه در فرم 2، به تعداد سال ها فیلد های Int و double تولید می شود. پس در فرم 2، دارای 3 سطر خواهیم بود که اعداد int و double  دریافت می کند. و سالها و درصد محاسبات وارد آن می شود.

برای این کار ViewModel ساخته شده که int و double می باشد.

مساله:

بعد از زدن دکمه ثبت در فرم 2 ، در ActionResult کنترلر ، به صورت  HttpPost، می خواهم، یک لیست دریافت کنم. که از ViewModel فرم ساخته شده باشد.

این لیست را چگونه بسازیم یا دریافت کنیم؟

 

 

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 8 آبان 1395
  • 18:44

بعنوان ورودی اکشن یک لیست از نوع مدل صفحه بگیرید

کاربر سایت

syazdian

عضویت از 1393/07/28

  • شنبه 8 آبان 1395
  • 20:09

فکر کنم سوال رو بد گفتم. سوال همینه که شما جواب دادید!

چجوری میشه در View یک لیست از ViewModel ساخت و پر کرد و به Controller ارسال کرد؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 9 آبان 1395
  • 09:27
@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;

        }

 

کاربر سایت

syazdian

عضویت از 1393/07/28

  • یکشنبه 9 آبان 1395
  • 13:26

خیلی خیلی متشکرم

بسیار خوب

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)