ساخت CheckBoxList در MVC

دوشنبه 10 فروردین 1394

در این مقاله میخواهیم نحوه پیاده سازی و استفاده از CheckBoxList در MVC را بررسی کنیم

ساخت CheckBoxList در MVC

در این مقاله میخواهیم نحوه پیاده سازی و استفاده از CheckBoxList  در MVC  را بررسی کنیم:

ابتدابرنامه ویژوال استدیو خود را باز کنید و یک پروژه جدید از نوع MVC بسازید سپس روی پوشه Models کلیک راست کرده Add و سپس Class  را انتخاب کنید:

در صفحه ای که باز میشود نام CheckModel را وارد کنید وروی گزینه Add کلیک کنید:

حال خصوصیات زیر را درون کلاس بنویسید:

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Web;  
      
    namespace MvcCheckbox.Models  
    {  
        public class CheckModel   
        {  
            public int Id   
            {  
                get;  
                set;  
            }  
            public string Name   
            {  
                get;  
                set;  
            }  
            public bool Checked   
            {  
                get;  
                set;  
            }  
        }  
    }  

حال نوبت به ساخت کنترلر میرسه روی پوشه Controllers کلیک راست کرده و گزینه add سپس Controller را انتخاب کنید در صفحه ای که باز میشود در قسمت scaffolding options -> Template را Empty MVC Controller انتخاب کنید:

پس از ساخت کنترلر برای متد Index کد زیر را وارد کنید:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcCheckbox.Models;

namespace MvcCheckbox.Controllers
{
    public class HomeController : Controller
    {

        [HttpGet]
        public ActionResult Index()
        {
            var list = new List<CheckModel>
            {
                 new CheckModel{Id = 1, Name = "ایمان", Checked = false},
                 new CheckModel{Id = 2, Name = "وحید", Checked = false},
                 new CheckModel{Id = 3, Name = "سجاد", Checked = false},
                 new CheckModel{Id = 4, Name = "مسعود", Checked = false},
                 new CheckModel{Id = 5, Name = "احسان", Checked = false},
                 new CheckModel{Id = 6, Name = "علی", Checked = false},
                 new CheckModel{Id = 7, Name = "سروش", Checked = false},
                 new CheckModel{Id = 8, Name = "شیوا", Checked = false},
                 new CheckModel{Id = 9, Name = "مینا ", Checked = false},
                 new CheckModel{Id = 10, Name = "محمد", Checked = false},
                
            };
            return View(list);
        }



    }
}

روی تابع index کلیک راست کرده و گزینه Add View  را انتخاب کنید:

حال از پنجره ظاهر شده روی گزینه Add کلیک کنید:

 

ویو ساخته شده را به شکل زیر ویرایش کنید:

@model List<MvcCheckbox.Models.CheckModel>
@{
    ViewBag.Title = "Index";
}




@using (Html.BeginForm())
{
    for (var i = 0; i < Model.Count(); i++)
    {
    <table dir="rtl">
        <tr>
            <td>
                @Html.HiddenFor(it => it[i].Id)
                @Html.DisplayFor(it => it[i].Name)
            </td>
            <td>
                @Html.CheckBoxFor(it => it[i].Checked,new {Style ="vertical-align:3px}"})
            </td>
        </tr>
    </table>
      
    }

    <input id="Submit1" type="submit" value="ارسال" />
     

}

حال میتونید برنامه رو اجرا کنید:

حال باید برای حالت post در کنترلر متد آنرا اضافه و ورودی متد باید لیتسی از جنس کلاس CheckModel باشد :

     [HttpPost]  
        public ActionResult Index(List<CheckModel> list)  
        {  
            return View(list);  
        } 

حال چند نام را انتخاب میکنیم و روی دکمه ارسال کلیک میکنیم:

با گزاشتن breack point روی تابع متد مشخص خواهد شد که مقادیری که انتخاب کردیم مقدار خصوصیت Checked آنها برابر true و ما بقی false  میباشد:

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید