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