ASP.NET MVC - Ajaxified RenderAction - PullRequest
       5

ASP.NET MVC - Ajaxified RenderAction

6 голосов
/ 03 марта 2010

Я доволен тем, что делает функция RenderAction ().Тем не менее, я хотел бы отрегулировать загрузку и хранение данных в частично обработанном действии, чтобы все происходило на одной странице.

Представьте себе следующий случай: у меня есть представление сведений о статье, где есть ссылка «Добавить комментарий» под содержанием статьи.При нажатии на нее появляется форма комментария под содержанием сообщения.Пользователь должен иметь возможность заполнить поле для комментариев и отправлять данные без обновления всего представления, только частично визуализированного действия.Кроме того, представление должно предусматривать добавление нескольких комментариев в одном сеансе (несколько вызовов AJAX для RenderAction ());

Какой лучший способ добиться этого?

1 Ответ

13 голосов
/ 03 марта 2010

Действие:

[HttpGet]
public ActionResult AddComment()
{
    return PartialView(); // presumes partial view is called "AddComment" and needs no model
                          // you know what to do otherwise.
}

Вид:

<input type="button" value="Add Comment" onclick="addComment()" />

JavaScript:

function addComment() {
    $("#comments").append("<div></div>").load("/ControllerName/AddComment");
}

Это основы. Вы можете сделать это настолько сложным, насколько захотите.

...