ساخت CheckBoxList در MVC
دوشنبه 10 فروردین 1394در این مقاله میخواهیم نحوه پیاده سازی و استفاده از 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 میباشد:

- ASP.net MVC
- 2k بازدید
- 1 تشکر