我正在参与我的MVC 3页面,我需要做一个JQuery $ .Ajax回调,但不像之前我已经返回一些简单的值并使用JQuery处理更新UI我需要刷新部分显示主ViewModel数据的页面。所以实际上它几乎就像我需要做一个回调而不是返回JSonResult我想要返回原来的View?我很确定我需要考虑使用部分视图吗?有人可以建议或者指点我一个好的教程吗?
提前致谢。
答案 0 :(得分:2)
如果我理解正确的话。在这种情况下,我通常会重复使用相同的操作,但会返回基于IsAjaxRequest方法的完整视图或部分视图。
public ActionResult MyAction(string someParam)
{
//...
if (Request.IsAjaxRequest())
{
return PartialView(model);
}
else
{
return View(model);
}
}
然后可以使用类似的东西在jQuery中调用它:
$("a.myAction").click(function (event)
{
event.preventDefault();
var button = $(this);
// Get more results using ajax
$.get(button.attr("href"), function (data)
{
// Add the new content
$('div#myActionResult').empty().html(data);
}, "html");
}
如果您要将数据发送到操作以更改视图,则可能需要更改POST或更改Url以包含查询字符串。