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

ایجاد فرم و ذخیره کردن داده ها در پایگاه داده SQL با استفاده از ADO.NET در ASP.NET MVC
0 0
ایجاد فرم و ذخیره کردن داده ها در پایگاه داده SQL با استفاده از ADO.NET در ASP.NET MVC

در این مقاله، با یک مثال، نحوه ایجاد یک فرم، ارسال آن و دخیره داده ها در پایگاه داده SQL Server با استفاده از ADO.Net در ASP.Net MVC 5 Razor  را توضیح خواهیم داد.

این مقاله نحوه ایجاد فرم با استفاده از کلاس مدل را توضیح می دهد و سپس داده های فرم را از View به Controller با استفاده از شیء کلاس مدل در پایگاه داده SQL Server با استفاده از ASP.Net MVC 5 Razor  ذخیره میکند.

یک جدول با نام Custtomer  در SQL ایجاد میکنیم. CustomerId یک ستون Auto-increment (هویت) است.

 

توجه : شما می توانید جدول پایگاه داده SQL را با کلیک روی لینک دانلود زیر دانلود کنید.فایل SQL را دانلود کنید

 

NameSpace

شما باید فضای نامهای زیر را وارد کنید.

using System.Configuration;
using System.Data.SqlClient;

Model

در زیر یک کلاس Model به نام CustomerModel با سه خصوصیت یعنی CustomerId، Name و Country ایجاد میکنیم.

public class CustomerModel
   {
       /// <summary>
       /// Gets or sets CustomerId.
       /// </summary>
       public int CustomerId { getset; }
 
       /// <summary>
       /// Gets or sets Name.
       /// </summary>
       public string Name { getset; }
 
       /// <summary>
       /// Gets or sets Country.
       /// </summary>
       public string Country { getset; }
   }

Controller

سپس شما باید یک کلاس Controller را به پروژه خود اضافه کنید. دو اکشن با نام Index وجود دارد، یکی برای GET و دیگری POST.

روش POST یک شی از کلاس CustomerModel را به عنوان پارامتر قبول می کند. مقادیر ارسال شده از فرم در داخل View  از طریق این پارامتر دریافت می شود.

سپس مقادیر دریافت شده به جدول پایگاه داده SQL Server با استفاده از ADO.Net دخیره میشوند. CustomerId از رجستر وارد شده است و به کلاس ClassModel اختصاص داده شده است و سپس به View بازمیگردد.

public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
 
        [HttpPost]
        public ActionResult Index(CustomerModel customer)
        {
            string constr = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {
                string query = "INSERT INTO Customers(Name, Country) VALUES(@Name, @Country)";
                query += " SELECT SCOPE_IDENTITY()";
                using (SqlCommand cmd = new SqlCommand(query))
                {
                    cmd.Connection = con;
                    con.Open();
                    cmd.Parameters.AddWithValue("@Name", customer.Name);
                    cmd.Parameters.AddWithValue("@Country", customer.Country);
                    customer.CustomerId = Convert.ToInt32(cmd.ExecuteScalar());
                    con.Close();
                }
            }
 
            return View(customer);
        }
    }

View

گام بعدی این است که یک View برای  Controller اضافه کنید و در هنگام اضافه کردن شما باید کلاس CustomerModel که قبلا ایجاد شده را انتخاب کنید.

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

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

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

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

FormMethod – روش ارسال فرم را GET یا POST مشخص می کند. در این مورد به POST تنظیم خواهد شد.

یک فیلد TextBox وجود دارد که برای گرفتن مقدار برای نام با استفاده از روش Html.TextBoxFor ایجاد شده است. در حالی که برای گرفتن نام کشور، یک DropDownList با گزینه های کشور با استفاده از تابع Html.DropDownListFor ایجاد می شود.

یک دکمه Submit در انتهای فرم وجود دارد و هنگامی که دکمه روی آن کلیک می شود، فرم ارسال می شود.

پس از ارسال فرم، Model  بازگشت از کنترل کننده برای NULL بررسی می شود و اگر NULL نباشد، سپس CustomerId وارد شده با استفاده از MessageBox Alert Alert می شود.

@model ADO_Net_MVC.Models.CustomerModel
 
@{
    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;
        }
 
        table {
            border1px solid #ccc;
            border-collapsecollapse;
            background-color#fff;
        }
 
            table th {
                background-color#B8DBFD;
                color#333;
                font-weightbold;
            }
 
            table thtable td {
                padding5px;
                border1px solid #ccc;
            }
 
            tabletable table td {
                border0px solid #ccc;
            }
 
        input[type=text]select {
            width150px;
        }
    </style>
</head>
<body>
    @using (Html.BeginForm("Index""Home"FormMethod.Post))
    {
        <table cellpadding="0" cellspacing="0">
            <tr>
                <th colspan="2" align="center">مشخصات مشتری</th>
            </tr>
            <tr>
                <td>نام: </td>
                <td>
                    @Html.TextBoxFor(m => m.Name)
                </td>
            </tr>
            <tr>
                <td>کشور: </td>
                <td>
                    @Html.DropDownListFor(m => m.Country, new List<SelectListItem>
                   { new SelectListItem{Text="ایران", Value="Iran"},
                     new SelectListItem{Text="چین", Value="China"},
                     new SelectListItem{Text="استرالیا", Value="Australia"},
                     new SelectListItem{Text="فرانسه", Value="France"},
                     new SelectListItem{Text="آمریکا", Value="Unites States"},
                     new SelectListItem{Text="روسیه", Value="Russia"},
                     new SelectListItem{Text="کانادا", Value="Canada"}},
                     "انتخاب کنید...")
                </td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="ذخیره" /></td>
            </tr>
        </table>
    }
 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    @if (Model != null)
    {
        <script type="text/javascript">
            $(function () {
                alert("شناسه مشتری وارد شده: " + @Model.CustomerId);
            });
        </script>
    }
</body>
</html>


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

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