이것은 매우 어리석은 질문 일지 모르지만 저는 MVC에 관해 알게 된 학생이며 매우 흥미 롭습니다. 또한 Ajax 및 jQuery에 대한 지식이 거의 또는 전혀 없습니다. 나는 Ajax 서비스 나 jquery를 사용하지 않고서 코멘트 나 블로그 포스트를 게시하는 것과 같은 기본적인 애플리케이션을 만들어왔다. 이제는 Ajax 서비스가 호출되고 사용자 정의 jQuery 코드가 작성되는 것을 보았다.왜 ASP.NET MVC에서 Ajax 서비스와 jQuery를 사용해야합니까?
주 페이지에 주석을 추가 할 수 있고 주석을 쓰고 제출 한 후 주 페이지에 표시되는 작은 예제를 생각해 봅시다. 내가 코멘트를 저장하기 위해 문자열의 목록을 사용하여 알고 다음과 같은 기능
public class CustomAjaxController : Controller
{
//
// GET: /CustomAjax/
private static readonly List<string> Comments = new List<string>();
public ActionResult Index()
{
return View(Comments);
}
[HttpPost]
public ActionResult AddComment(string comment)
{
Comments.Add(comment);
return RedirectToAction("Index");
}
}
와 컨트롤러를 상상 하는 것은 좋은 생각이 아니다하지만 간단하게하기 위해 나의 점을 설명하기 위해 나는 그것을 사용했습니다. 또한 나는 모델이 없지만 같은 이유로 다시 모델을 가지고있다.
@model IEnumerable<string>
<h4>comments</h4>
<ul id ="comments">
@foreach (var comment in Model)
{
<li>@comment</li>
}
</ul>
<form method="POST" id="commentsForm"
action = "@Url.Action("AddComment")">
@Html.TextArea("Comment", new{rows =5, cols =40})
<br/>
<input type ="submit" value="Add comment"/>
</form>
이제 jquery 및 ajax 요청을 사용하여 동일한 작업을 수행했습니다. 그러나 왜 내가 같은 결과를 얻으려면 어떻게해야합니까, 아니면 이것이 아약스 요청을 사용하기에 적합한 장소인지 어떻게 알 수 있습니까?
그렇다면 요청이 아약스 요청인지 확인하고 아약스 요청이 true 인 경우 부분보기를 반환해야하는 이유는 무엇입니까 ?? 그러면 아마 전체 페이지가 아닌 주석 섹션을 새로 고칩니다. – Cybercop
네, 그렇습니다. 부분 뷰를 반환하면 전체 HTML 페이지의 작은 부분 만 반환됩니다. 즉, 새로 고쳐야하는 부분 만 반환합니다. 컨트롤러 액션에서 JSON을 반환하고 클라이언트에서이 JSON을 사용하여 몇 가지 작업을 수행 할 수도 있습니다. –