Нет, jQuery - идеальный инструмент для этого.
Все, что вам нужно сделать, это отправить обратно на свой ActionResult в вашем контроллере, вернуть ваши данные [или даже лучше частичное представление] и отобразить их на странице.
Если вам нужен пример кода, дайте мне знать, и я выложу немного.
Но по сути вам нужно сделать $.post("/controller/action", {arg1:val1, arg2:val2}, function(retHtml){ code to show data });
В вашем контроллере что-то вроде этого;
public ActionResult action(string arg1, string arg2)
{
//Do guff
return PartialView("MyPartialView", FormViewModel);
}
Если вам нужен пример объяснения, дайте мне знать в комментарии.
EDIT:
Код, который я дал, на самом деле достаточно полон, но давайте немного его уточним и упростим. Есть лучшие способы сделать это, но это легко и удобно читать, если вы новичок в jQuery.
Начнем с просмотра;
Вы произнесете кнопку таким образом:
<input id="submitBtn" name="submitBtn" type="submit" onclick="postComment(<%=Model.Id %>); return false;" value="Submit" />
Тогда у вас есть код jQuery для отправки обратно, вот так;
function postComment(id) {
var commentText = jQuery.trim($("#textbox_ + id.toString()).val());
$.post("/Articles/jQueryAddComment", { commentText: commentText, id: id, }, function(newCommentListHTML) {
AddCommentReturn(id, commentType, newCommentListHTML);
});
}
То, что делает приведенный выше код, - это просто захват текста комментария, скажем, из поля, и отправка обратно в мой контроллер действия jQueryAddComment и передача нескольких переменных.
В моем контроллере теперь есть;
public ActionResult jQueryAddComment(string commentText, int id)
{
//code here to add the new comment to the database.
//more code to get the new list of comments from the database and into a model
//code to return a partial view back to the view itself
return PartialView("CommentList", fvm);
}
Обратный вызов в приведенном выше коде jQuery вызывает обычную функцию Javascript, чтобы взять возвращенный HTML и отобразить его на странице.
В вашем случае вы должны показать Div с HTML-кодом в нем и предоставить ему события щелчка, чтобы пользователь мог взаимодействовать с ним.
Это понятнее?