برگشت محتویات رشته از Controller به View در ASP.Net MVC
با سلام در این مقاله با مثال توضیح خواهیم داد که چگونه ContentResult را در ASP.Net MVC Razor استفاده کنید.
بازگشت نوع ContentResult برای بازگشت محتوا از جمله رشته، رشته XML و غیره از Controller به View در ASP.Net MVC Razor استفاده می شود.
Controller
Controller متشکل از دو روش است :
روش دست زدن به عملیات GET
در داخل این روش View بازگردانده می شود.
روش دست زدن به عملیات AJAX POST
این روش ارتباط ساخته شده از عملکرد AJAX جی کوئری را از View انجام می دهد.
توجه : روش زیر اقدام به فراخوانی AJAX می کند و از آنجایی که یک مقدار رشته بازگردانده می شود، نوع بازگشت به ContentResult تنظیم می شود .
مقدار پارامتر نام در کنار تاریخ و زمان فعلی به View به عنوان یک مقدار رشته بازگشته است.
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
[HttpPost]
public ContentResult AjaxMethod(string name)
{
string currentDateTime = string.Format("Hello {0}.\nCurrent DateTime: {1}", name, DateTime.Now.ToString());
return Content(currentDateTime);
}
}
View
View شامل یک عنصر HTML TextBox و یک دکمه است. Button رویداد کلیک jQuery را تعیین میکند و هنگامی که دکمه روی یک آژاکس جی کوئری کلیک می شود، به روش Controller ساخته میشود
URL برای ارتباط AJAX جی کوئری به روش Controller یعنی / Home / AjaxMethod تنظیم شده است. مقدار TextBox به عنوان پارامتر انتقال داده می شود و پاسخ بازگشت با استفاده از جعبه پیام هشدار جاوا اسکریپت نمایش داده می شود.
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
<input type="text" id="txtName"/>
<input type="button" id="btnGet" value="Get Current Time"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btnGet").click(function () {
$.ajax({
type: "POST",
url: "/Home/AjaxMethod",
data: '{name: "' + $("#txtName").val() + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response);
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
});
});
</script>
</body>
</html>