استفاده از چندین Form در یک صفحه MVC

جمعه 5 آذر 1395

در این مقاله ، نحوه استفاده از چندین Form در یک صفحه View را توضیح خواهیم داد، و با ارائه یک مثال بصورت مرحله به مرحله به بررسی این موضوع خواهیم پرداخت .

استفاده از چندین Form در یک صفحه MVC

Controller :
یک Controller شامل چندین Action Method میباشد . 

Action Method هایی برای مدیریت عملیات های GET :
درون این Action Method ها یک View ساده Return میشود . 

Action Method هایی برای مدیریت عملیات های POST - FORM 1 :
این Acion Method زمانی که Form 1 ، در حین زدن دکمه Submit ، Save میشود ، فراخوانی میشود . در مثال زیر ، یک رشته درون TempData ذخیره میشود برای اینکه نشان دهیم که دکمه "Save" کلیک شده است و در آخر آن را به صفحه Index بازمیگردانیم .

Action Method هایی برای مدیریت عملیات هایPOST - FORM 1 :
این Acion Method زمانی که Form 2 ، در حین زدن دکمه Submit ، Cancelمیشود ، فراخوانی میشود . در مثال زیر ، یک رشته درون TempData ذخیره میشود برای اینکه نشان دهیم که دکمه "Cancel" کلیک شده است و در آخر آن را به صفحه Index بازمیگردانیم .

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }
 
    [HttpPost]
    public ActionResult Save()
    {
        TempData["Message"] = "You clicked Save!";
        return RedirectToAction("Index");
    }
 
    [HttpPost]
    public ActionResult Cancel()
    {
        TempData["Message"] = "You clicked Cancel!";
        return RedirectToAction("Index");
    }
}


View :
در View زیر دو Form جود دارد که با استفاده از Helperهای Html.BeginForm ایجاد شده اند و هر فرم دارای یک دکمه Submit میباشد . 

و در آخر ، متدهای JavaScript ای برای نمایش TempData مورد استفاده قرار میگیرد .  استفاده از JavaScript Alert Message Box  برای نمایش پیام TempData .

@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
    <table>
        <tr>
            <td>
                @using (Html.BeginForm("Save", "Home", FormMethod.Post))
                {
                    <input type="submit" id="btnSave" value="Save"/>
                }
            </td>
            <td>
                @using (Html.BeginForm("Cancel", "Home", FormMethod.Post))
                {
                    <input type="submit" id="btnCancel" value="Cancel"/>
                }
            </td>
        </tr>
    </table>
  
    @if (TempData["Message"] != null)
    {
       <script type="text/javascript">
            window.onload = function () {
                alert('@TempData["Message"]');
            };
        </script>
    }
</body>
</html>

خروجی برنامه بصورت زیر خواهد بود :





آموزش asp.net mvc

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید