توضیحات و دانلود

آموزش اتصال RadioButtonList به بانک اطلاعاتی SQL در ASP.Net MVC
0 0
آموزش اتصال RadioButtonList به بانک اطلاعاتی SQL در ASP.Net MVC

 در اینجا با یک مثال آموزش اتصال RadioButtonList را به بانک اطلاعاتی در ASP.Net MVC توضیح میدهیم
 ASP.Net MVC دارای کنترل RadioButtonList نیست و از این رو با استفاده از کلاس SelectListItem به عنوان Model، یک RadioButtonList را با استفاده از  پایگاه داده در ASP.Net MVC 5 Razor  بازسازی میکنیم.

ابتدا یك جدول مانند زیر در SQL طراحی كنید.

سپس چند مقدار مانند زیر در آن وارد كنید.

توجه! بانك این سورس در لینك زیر قرار داده شده است!دانلود اسكریپت SQL

 فضای نام
ابتدا فضای نامهای زیر را اضافه كنید. 

using System.Configuration;
using System.Data.SqlClient;
using System.Collections.Generic;

  Model
در اینجا از کلاس SelectListItem به عنوان مدل استفاده می کنیم که در ASP.Net MVC ساخته شده است. این همه خصوصیات برای ساخت RadioButtonList است.

Controller

کنترلر متشکل از دو عمل است.

عمل GET

در این حالت،  از تابع PopulateFruits استفاده می شود.

در داخل روش PopulateFruits ، رکوردها از جدول میوه ها با استفاده از DataReader خوانده می شوند و در لیستی به نام ListListItem دسته بندی می شوند می شود.

FruitName در Property Text در حالی که FruitId در Property Value ذخیره می شود.

در نهایت لیست میوه ها به View ارسال و نمایش  داده می شود.

عمل POST

در حالت POST هنگامی که فرم ارسال شد، FruitId گرفته میشود .

سپس Method PopulateFruits فراخوانی می شود و با استفاده از عبارت Lambda نام میوه بدست می آید و نام میوه با استفاده از شی ViewBag به View  ارسال میشود که توسط alert  جاوا اسکریپت نمایش داده میشود.

public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            List<SelectListItem> items = PopulateFruits();
            return View(items);
        }
 
        [HttpPost]
        public ActionResult Index(string fruit)
        {
            List<SelectListItem> items = PopulateFruits();
            var selectedItem = items.Find(p => p.Value == fruit);
            if (selectedItem != null)
            {
                selectedItem.Selected = true;
                ViewBag.Message = "Selected Fruit: " + selectedItem.Text;
            }
 
            return View(items);
        }
 
        private static List<SelectListItem> PopulateFruits()
        {
            List<SelectListItem> items = new List<SelectListItem>();
            string constr = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {
                string query = " SELECT FruitName, FruitId FROM Fruits";
                using (SqlCommand cmd = new SqlCommand(query))
                {
                    cmd.Connection = con;
                    con.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            items.Add(new SelectListItem
                            {
                                Text = sdr["FruitName"].ToString(),
                                Value = sdr["FruitId"].ToString()
                            });
                        }
                    }
                    con.Close();
                }
            }
 
            return items;
        }
    }

 

View

در داخل   ویو، در خط اول، کلاس SelectListItem به عنوان مدل برای نمایش اعلام شده است.

ویو شامل یک فرم HTML است که با استفاده از روش Html.BeginForm با پارامترهای زیر ایجاد شده است.

ActionName - نام اکشن در اینجا Index است.

ControllerName - نام کنترلر. در این مورد نام Home است.

FormMethod - روش فرم را یعنی GET یا POST مشخص می کند. در اینجاPOST میباشد.

در داخل فرم، یک حلقه بر روی لیست کلی از اشیاء کلاس SelectListItem اجرا می شود و یک جدول HTML ایجاد می شود که شامل عناصر RadioButton و Label تولید شده با استفاده از روش های Helper زیر است.

Html.RadioButton - اولین پارامتر نام RadioButton است که hardcoded است زیرا باید برای همه RadioButtons مشابه باشد تا آنها در گروه کار کنند. پارامتر دوم مقدار RadioButton است، پارامتر سوم برای چک کردن / لغو انتخاب RadioButton و در نهایت در پارامتر چهارم، شناسه ID RadioButton به مقدار آن تنظیم شده است، به طوری که آن را منحصر به فرد است.

Html.Label - اولین پارامتر متن است که در عنصر Label نمایش داده می شود در حالی که ویژگی FOR برای مقدار RadioButton تنظیم شده است تا وقتی RadioButton روی برچسب کلیک شود، آن را چک می کند.

هنگامی که دکمه Submit کلیک می شود، فرم ارسال می شود و مقدار RadioButton انتخاب شده به کنترل کننده ارسال می شود.

در نهایت نام انتخاب میوه با استفاده از جعبه پیام هشدار جاوا اسکریپت نمایش داده می شود.

@model List<SelectListItem>
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <style type="text/css">
        body {
            font-familyArial;
            font-size10pt;
        }
    </style>
</head>
<body>
    @using (Html.BeginForm("Index""Home"FormMethod.Post))
    {
        <table>
            @foreach(var m in Model)
            {
                <tr>
                    <td>
                        @Html.RadioButton("Fruit", m.Value, m.Selected, new {@id = m.Value })
                    </td>
                    <td>
                        @Html.Label(m.Text, new { @for = m.Value})
                    </td>
                </tr>
            }
        </table>
        <br />
        <input type="submit" value="Submit" />
    }
    @if (ViewBag.Message != null)
    {
        <script type="text/javascript">
            window.onload = function () {
                alert("@ViewBag.Message");
            };
        </script>
    }
</body>
</html>


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :