Server Side تایید جعبه پیام Yes No در Controller با ASP.Net MVC Razor
با سلام در این مقاله با مثال توضیح خواهیم داد که چگونه Server Side تایید جعبه پیام Yes No در Controller با ASP.Net MVC Razor را بسازیم.
بله یا نه به روش Action Controller با استفاده از ارسال فرم ارسال می شود. نتیجه ی Yes یا No می تواند برای انجام اقدامات درون روش Action Controller در ASP.Net MVC Razor مورد استفاده قرار گیرد.
Controller
Controller متشکل از دو روش است :
روش دست زدن به عملیات GET
در داخل این روش View بازگردانده می شود.
روش اداره عملیات POST
این روش زمانی که فرم به دلیل کلیک بر روی دکمه Submit ارسال می شود. مقدار فیلد پنهان HTML که در داخل متغیرconfirm_value قرار می گیرد نمایش داده می شود .
بر اساس اینکه آیا کاربر بر روی Yes یا No کلیک می کند به یک شی ViewBag تنظیم شده است.
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
// POST: Home
[HttpPost]
public ActionResult Index(string confirm_value)
{
if (confirm_value == "Yes")
{
ViewBag.Message = "You clicked YES!";
}
else
{
ViewBag.Message = "You clicked NO!";
}
return View();
}
}
View
View زیر شامل یک فرم HTML است که به روش عملکرد Index قبلا توضیح داده شده است. فرم شامل یک دکمه ارسال HTML است که زمانی که کلیک شود، یک روش جاوا اسکریپت را قبل از ارسال فرم فراخوانی میکند .
در داخل روش تأیید جاوا اسکریپت، جعبه پیام تأیید جاوااسکریپت نمایش داده می شود و نتیجه به یک فیلد پنهان HTML پویا ذخیره می شود که بعدها به فرم اضافه می شود.
در نهایت پیام فرستاده شده ازController در داخل جعبه پیام هشدار نمایش داده می شود.
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<input type="submit" value="Submit" onclick="Confirm()"/>
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
function Confirm() {
var input = $("<input />");
input.attr("type", "hidden").attr("name", "confirm_value");
if (confirm("Do you want to save data?")) {
input.val("Yes");
} else {
input.val("No");
}
$("form")[0].appendChild(input[0]);
}
</script>
@if (ViewBag.Message != null)
{
<script type="text/javascript">
$(function () {
alert("@ViewBag.Message")
});
</script>
}
</body>
</html>