0

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

4

1 回答 1

0

您可以改用 AJAX 链接:

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

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

于 2013-08-23T14:30:50.007 回答