این مقاله چگونگی استفاده از کنترل Checkboxlist در MVC را نشان میدهد. همچنین در این مقاله از یک HTML Helper و LINQ Binding به SQL نیز استفاده شده است که روش استفاده و کار با آن ها به طور کامل در اینجا توضیح داده شده است.
با من در طول این آموزش CheckBoxList در MVC همراه شوید …
ساختار پایگاه داده
جدولی در پایگاه داده بنام Country بسازید. در زیر کد جدول ساخته شده برای جدول Country آورده شده است :
CREATE TABLE [dbo].[Country] ( [id] [int] NOT NULL, [name] [varchar](50) NOT NULL, [IsSelected] [bit] NOT NULL )
افزودن یک کلاس LINQ به SQL
گام اول:
بر روی پروژه راست کلیک کنید و “Add new item” را انتخاب کنید. سپس داده ها را از قالب ها انتخاب کنید.
گام دوم:
کلاس های LINQ به SQL را از لیست انتخاب کنید و نامی برای آنها در نظر بگیرید. حال پس از کلیک بر روی افزودن میتوانید فایل DBML را در پروژه ببینید.
گام سوم:
جدول Country را از پایگاه داده در Server Explorer بیاندازید.
ساختHome Controller
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using checkboxmvc.Models; using System.Text; namespace checkboxmvc.Controllers { public class homeController : Controller { DataClasses1DataContext db = new DataClasses1DataContext(); public ActionResult Index() { return View(db.Countries); } [HttpPost] public string Index(IEnumerable<Country> cs) { if (cs.Count(x => x.IsSelected) == 0) { return "you didn't select any country"; } else { StringBuilder sb = new StringBuilder(); sb.Append("you selected.."); foreach (Country cou in cs) { if (cou.IsSelected) { sb.Append(cou.name + ','); } } sb.Remove(sb.ToString().LastIndexOf(','), 1); return sb.ToString(); } } } }
در قطعه کد بالا دو متد ActionResult داریم , Index و Index. Index یک نوع [httpget] است و Index(IEnumerable<country>cs) یک [httppost] است.
ساخت قالب های ویرایشگر
ابتدا یک قالب ویرایشگر در داخل فولدر View میسازیم و قالب ویرایشگر در فایل Country.cshtml شامل میشود.
نام فایل مشابه نام model خواهد بود و فایل Country.cshtml شامل کد زیر میباشد :
@model checkboxmvc.Country @Html.HiddenFor(x=x.id) @Html.HiddenFor(x=x.name) @Html.CheckBoxFor(x=x.IsSelected) @Html.DisplayFor(x=x.n
در زیر خروجی قطعه کد بالا آورده شده است :
اگر ما بدون انتخاب Checklistbox بر روی دکمه ی ثبت کلیک کنیم خروجی همانند زیر خواهد بود :
اگر ما بر روی یک یا تعداد بیشتری Checklistbox کلیک کنیم آنگاه خروجی زیر پدیدار خواهد شد :
خلاصه
در این مقاله آموختیم که چگونه از کنترل CheckBoxList در MVC با استفاده از HTML helper وLINQ Binding به SQL استفاده کنیم.
نظرات و پیشنهادات خود را با من در میان بگذارید.
با تشکر از وقتی که برای مطالعه ی این مطلبی گذاشتید.
هیچ دیدگاهی نوشته نشده است.