کنترل RadioButtonList در MVC با استفاده از HTML Helpers
دوشنبه 29 تیر 1394در این مقاله با نحوه ساخت کنترل RadioButtonList در MVC با استفاده از HTML Helpers و پر کردن آن توسط LINQ to SQL آشنا خواهید شد.
ساختار بانک اطلاعاتی
ابتدا مانند شکل زیر یک بانک اطلاعاتی با نام RadioBtnMvcDB ساخته و یک جدول در آن با نام department ایجاد نمایید.
کسانی که وقت کافی برای ساخت بانک و جداول ندارند می توانند فایل نصبی موجود در پوشه ضمیمه را نصب کنند سپس از این قسمت شروع به ساخت پروژه نمایند.
اضافه کردن LINQ to SQL Class
گام 1:
روی نام پروژه کلیک راست کرده و گزینه "Add new item" را کلیک کرده و گزینه Data از templates را انتخاب می کنیم.
گام 2:
"LINQ to SQL classes" را از لیست انتخاب کرده و نامی در نظر می گیریم. سپس می بینید که یک فایل dbml. به پروژه اضافه می شود.
گام 3:
از Server Explorer جدول department را درون پروژه کشیده و رها می کنیم.
یک کلاس با نام college ایجاد می کنیم.
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace mvcmodelfuncation.Models { public class college { public string selectdepartment { set; get; } public List<department> depatrmts { get { DataClasses1DataContext db = new DataClasses1DataContext(); return db.departments.ToList(); } } } }
در کد قبلی دو پروپرتی با نام های selectdepartment و depatrmts وجود دارد. جدول depatrmts لیستی است که از جدول Department بانک اطلاعاتی پر می شود.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace RadioBtnMVC.Controllers { public class HomeController : Controller { // // GET: /home/ private DataClasses1DataContext db = new DataClasses1DataContext(); [HttpGet] public ActionResult deprt() { college cc = new college(); return View(cc); } [HttpPost] public string deprt(college cs) { if (string.IsNullOrEmpty(cs.selectdepartment)) { return "شما دپارتمانی را انتخاب نکرده اید"; } else { return "دپارتمان انتخابی شما =" + cs.selectdepartment; } } } }
در تکه کد قبلی دو متد ActionResult با نامهای drpart و drpart college cs وجود دارد. drpart از نوع [httpget] و drpart college cs از نوع [httppost] می باشد.
ساخت ویو برای نمایش radiobuttonlist
روی متد ActionResult راست کلیک کرده و Add View را انتخاب می کنیم. پس از کلیک dialog box باز شده که ViewName به صورت پیش فرض deprt می باشد. مدل را انتخاب کرده و ok می کنیم.
@model RadioBtnMVC.college @{ ViewBag.Title = "دپارتمان"; } <h2>deprt</h2> @using (Html.BeginForm()) { foreach (var depart in Model.depatrmts) { @Html.RadioButtonFor(m => m.selectdepartment, depart.id) @depart.name <br /> } <br /> <br /> <input type="submit" value="ارسال" /> }
اگر بخواهیم Radio ها به صورت افقی کنار هم قرار گیرند تگ </br> را از داخل foreach برمی داریم.
@model RadioBtnMVC.college @{ ViewBag.Title = "دپارتمان"; } <h2>deprt</h2> @using (Html.BeginForm()) { foreach (var depart in Model.depatrmts) { @Html.RadioButtonFor(m => m.selectdepartment, depart.id) @depart.name } <br /> <br /> <input type="submit" value="ارسال" /> }
پس از انتخاب یکی از radioButton ها و کلیک روی دکمه ارسال، آیدی دپارتمان انتخابی نمایش داده می شود.
- ASP.net MVC
- 2k بازدید
- 1 تشکر