在asp.net MVC4 PartialView中使用Link调用并将参数传递给action方法并渲染另一个PartialView

时间:2013-08-23 09:25:47

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

在一个研究课程项目中,我有一个名为_item的MVC PartialView,在其中我放了一个href链接(<a href = '@Url.Action("AddToShoppingCard", "Home", Model)'>)来调用并将参数传递给Action方法( Home控制器中的AddToShopingcart),它又在主_layout中呈现另一个PartialView(_Footer)。 虽然我可以这样做,但问题是当我点击ActionLink时,它会将我抛出主_layout之外,并在浏览器中仅显示_Footer内容。

1 个答案:

答案 0 :(得分:0)

您可以使用AJAX链接:

@Ajax.ActionLink(
    "Add to shopping cart", 
    "AddToShoppingCard", 
    "Home", 
    new AjaxOptions { 
        UpdateTargetId = "someDivYouWantToUpdateWithThePartial" 
    }
)

Ajax.ActionLink帮助器将生成一个普通的<a>标记,但它将添加一些由jquery.unobtrusive-ajax.js脚本解释的HTML5 data- *属性(您需要包含该标记)到您的页面)和AJAXify这个锚点。 AjaxOptions允许您指定AJAX请求的一些属性,例如,当AJAX请求成功时您想要更新的某些DOM元素的id。在你的情况下,可能是一些div将接收由AJAX调用的控制器操作返回的PartialView。这样,只会刷新页面的一部分,浏览器不会离开它。