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

نمایش پیغام موفقیت پس از ارسال فرم در ASP.NET MVC
0 0
نمایش پیغام موفقیت پس از ارسال فرم در ASP.NET MVC

در این مقاله من با یک مثال توضیح خواهیم داد که چگونه میتوان پیغام موفقیت را پس از فرم ارسال (ارسال شده) یا هنگامی که رکورد در پایگاه داده با موفقیت ذخیره میشود در ASP.Net MVC Razor نمایش داد.

وقتی فرم ارسال می شود، مقدار فیلدهای فرم ارسال شده با استفاده از شیء کلاس Model جمع آوری می شود و به پایگاه داده وارد می شود. بعد از  موفقیت آمیز بودن عملیات ذخیره سازی در بانک اطلاعات، پیام موفقیت  با استفاده از جعبه پیام هشدار جاوا اسکریپت نمایش داده خواهد شد.

اسکریپت SQL

ابتدا یک جدول با خصوصیات زیر در SQL بسازید (فقط اسکریپت را در محیط SQL اجرا کنید)

SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
SET ANSI_PADDING ON
GO
 
CREATE TABLE [dbo].[Customers](
	[CustomerId] [int] IDENTITY(1,1) NOT NULL,
	[Name] [varchar](100) NOT NULL,
	[Country] [varchar](50) NOT NULL,
 CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED 
(
	[CustomerId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
 
GO
 
SET ANSI_PADDING OFF
GO
 
INSERT INTO Customers
SELECT 'John Hammond', 'United States'
UNION ALL
SELECT 'vahid ghezelvand', 'Iran'
UNION ALL
SELECT 'Suzanne Mathews', 'France'
UNION ALL
SELECT 'Robert Schidner', 'Russia'
 
 

 فضاهای نام

شما باید فضای نامهای زیر را وارد کنید.
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 { get; set; }
 
    ///<summary>
    /// Gets or sets Name.
    ///</summary>
    public string Name { get; set; }
 
    ///<summary>
    /// Gets or sets Country.
    ///</summary>
    public string Country { get; set; }
}

Controller
سپس شما باید یک کلاس Controller را به پروژه خود اضافه کنید. دو عمل با نام Index وجود دارد، یکی  روشGET و دیگری روش POST.
روش  POST یک شی از کلاس CustomerModel را به عنوان پارامتر قبول می کند. مقادیر ارسال شده از فرم در داخل  View از طریق این پارامتر دریافت می شود.
سپس مقادیر دریافت شده  در جدول پایگاه داده SQL Server با استفاده از ADO.Net ذخیره می شوند. CustomerId از رکورد وارد شده به دست می آید و به کلاس CustomerModel اختصاص داده می شود و سپس به 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 for View نمایش داده می شود.
View شامل یک فرم HTML است که با استفاده از روش Html.BeginForm با پارامترهای زیر ایجاد شده است.
ActionName - نام اکشن در این مورد نام Index است.
ControllerName - نام کنترل کننده. در این مورد نام  Home است.
FormMethod - این روش فرم را یعنی GET یا POST مشخص می کند. در این مورد به POST تنظیم خواهد شد.
یک فیلد TextBox وجود دارد که برای گرفتن مقدار برای نام با استفاده از روش Html.TextBoxFor ایجاد می شود. در حالی که برای گرفتن  مقادیر کشور، یک DropDownList با گزینه های کشور با استفاده از عملکرد Html.DropDownListFor ایجاد می شود.
یک دکمه Submit در انتهای فرم وجود دارد و هنگامی که دکمه روی آن کلیک می شود، فرم ارسال می شود.
پس از ارسال فرم، مدل بازگشت از Controller برای NULL بررسی می شود و اگر NULL نباشد، CustomerId وارد شده جدید با استفاده از MessageBox 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-family: Arial;
            font-size: 10pt;
        }
 
        table {
            border: 1px solid #ccc;
            border-collapse: collapse;
            background-color: #fff;
        }
 
        table th {
            background-color: #B8DBFD;
            color: #333;
            font-weight: bold;
        }
 
        table th, table td {
            padding: 5px;
            border: 1px solid #ccc;
        }
 
        table, table table td {
            border: 0px solid #ccc;
        }
 
        input[type=text], select {
            width: 150px;
        }
    </style>
</head>
<body>
    @using (Html.BeginForm("Index", "Home", FormMethod.Post))
    {
        <table cellpadding="0" cellspacing="0">
            <tr>
                <th colspan="2" align="center">Customer Details</th>
            </tr>
            <tr>
                <td>Name: </td>
                <td>
                    @Html.TextBoxFor(m => m.Name)
                </td>
            </tr>
            <tr>
                <td>Gender: </td>
                <td>
                   @Html.DropDownListFor(m => m.Country, new List<SelectListItem>
                   { new SelectListItem{Text="India", Value="India"},
                     new SelectListItem{Text="China", Value="China"},
                     new SelectListItem{Text="Australia", Value="Australia"},
                     new SelectListItem{Text="France", Value="France"},
                     new SelectListItem{Text="Unites States", Value="Unites States"},
                     new SelectListItem{Text="Russia", Value="Russia"},
                     new SelectListItem{Text="Canada", Value="Canada"}},
                     "Please select")
                </td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Submit"/></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("Inserted Customer ID: " + @Model.CustomerId);
            });
        </script>
    }
</body>
</html>
 


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

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