如何使用部分视图

时间:2011-07-12 07:38:25

标签: asp.net-mvc-3

我正在参与我的MVC 3页面,我需要做一个JQuery $ .Ajax回调,但不像之前我​​已经返回一些简单的值并使用JQuery处理更新UI我需要刷新部分显示主ViewModel数据的页面。所以实际上它几乎就像我需要做一个回调而不是返回JSonResult我想要返回原来的View?我很确定我需要考虑使用部分视图吗?有人可以建议或者指点我一个好的教程吗?

提前致谢。

1 个答案:

答案 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以包含查询字符串。