ASP.NET MVC 3 Razor渲染部分从一个控制器视图到另一个控制器视图

时间:2011-04-14 08:03:43

标签: jquery asp.net asp.net-mvc-3 razor asp.net-mvc-partialview

在不刷新主页的情况下,从局部视图重定向到另一个局部视图的最佳方法是什么。因此,在单击按钮后,1个局部视图会切换到另一个局部视图。你能用jQuery做到这一点,还是有更好的方法来执行此操作? 你还需要传递一个id

2 个答案:

答案 0 :(得分:3)

在这种情况下,AJAX似乎是一个很好的解决方案。所以你可以在页面的某个位置放置一个按钮:

@Html.ActionLink(
    "link text",
    "someAction",
    "someController",
    new { id = "put here some id you want to send to server" },
    new { id = "myLink" }
)

<div id="partial2Div"></div>

然后在一个单独的javascript文件中不引人注意地AJAX化此链接:

$(function() {
    $('#myLink').click(function() {
        $('#partial2Div').load(this.href);
        return false;
    });
});

控制器操作只会返回相应的局部视图:

public ActionResult SomeAction(string id)
{
    var model = ...
    return PartialView(model);
}

答案 1 :(得分:0)

Ajax.ActionLink将为您提供开箱即用的功能,而无需编写额外的JavaScript代码。

@Ajax.ActionLink("Link Text","Action","Controller",new {id= myId},new AjaxOptions{InsertionMode=InsertionMode.Replace, HttpMethod="get", UpdateTargetId="target-location-id"})