در مقالهی قبلی ما بخشی از BootstrapDialog را با استفاده از Reflection پیاده سازی کردیم. دلیل اینکه پیاده سازی کاملی از آن نداشتیم، متغیر بودن مقادیر و پیچیدهتر شدن و طولانی تر شدن کد نویسی آن بود که برای آن کد ارزش زیادی نداشت تا وقت بیشتری صرف شود. ولی در اینجا بخاطر پیچیدگی کمتر، به طور کامل از Reflection استفاده شده است. شیء
BootstrapSwitch یک چک باکس است که با استفاده از جی کوئری و استایلها به یک سوئیچ انیمیشنی زیبا تبدیل شده است که خودم به شخصه علاقه زیادی به استفادهی از آن در پروژههای شخصی پیدا کردهام. غیر از زیبایی، حس خوبی از کارکرد برنامه میدهد.
فایلهای موردنیاز را دانلود کرده و آنها را در ابتدای صفحه و با رعایت ترتیب صدا بزنید:
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link href="~/content/css/bootstrap-switch.min.css" rel=stylesheet"></link>
<script src="~/Scripts/bootstrap-switch.min.js"></script>
نکته مهم: فایل css شامل دو نسخه هست که یکی از آن برای Bootstrap2 و دیگری برای نسخه 3 آن است که نسبت به آن نسخه، استایل مناسب را انتخاب کنید.
پروژهی اصلی را دریافت کنید و آن را به solution خود اضافه کنید. پروژه به دو بخش اصلی Controls و Models تقسیم میشود که بخش مدل آن، برای ایجاد ساختارهای آن و در بخش کنترل، برای ترسیم آن به صورت HtmlHelper به کار میرود.
ابتدا قبل از هر چیزی یک شیء از کلاس BootstrapSwitchModel ایجاد کنید و مقادیر دلخواه خود را به خصوصیتهای آن نسبت دهید:
var model=BootstrapSwitchModel();
//وضعیت فعال بودن و غیرفعال بودن سوئیچ
model.Checked=true;
//اندازه آن
model.Size=BootstrapSize..normal;
//یک انیمیشن ساده موقع سوئیچ کردن دارد
model.Animate=true;
//به چک باکس عادی تبدیل میشود
model.Disabled=true;
//غیرفعال شده و به صورت فقط خواندنی قابل دسترس است
model.Readonly=true;
//رنگ قعال بودن
model.OnColor=BootstrapColor.Success;
//رنگ غیرفعال بودن
model.OffColor=BootstrapColor.Danger;
//متن نمایشی در هنگام فعال بودن
model.OnText="On";
//متن نمایشی در حالت عدم انتخاب
model.OffText="Off";
//بین دو حالت روشن و خاموش نمایش داده میشود
model.label="Public Display";
//تعیین میزان اندازه برچسب بالا
model.LabelWidth=100;
//سوئیچ به صورت آینه ای معکوس میشود
model.Inverse=false;
//کلاسی جهت تغییر استایل سوئیچ
model.BaseClass="myclass";
//تعیین کلاس برای تگ اصلی پدر
model.WrapperClass="wclass";
//فقط یکی از چند سوئیچ میتواند فعال باشد
model.RadioAllOff=false;
//یک سوئیچ در حالت عادی فقط یکی از
//وضعیتها را نمایش میده ولی در این حالت
//سوئیچ در ابتدا بین این دو وضعیت گیر کرده است
model.Indeterminate=true;
//اندازه سمت چپ و راست سوئیچ
model.HandleWidth=25;
برای ترسیم آن در یک ویو هم به صورت زیر عمل کنید:
@{
var model=BootstrapSwitchModel();
....}
@HTML.BootstrapSwitch("id",model);
برای اطلاع از رویدادهای این کنترل،
مستندات آن را مطالعه کنید و از id برای ارتباط با آن استفاده میکنند.