Ajax ActionLink:InsertionMode - 部分视图总是替换整个视图

时间:2015-09-28 19:26:50

标签: asp.net-mvc asp.net-ajax actionlink

我正在尝试使用Ajax ActionLink将少量内容插入到视图中的div中。无论我尝试什么,而不是将视图中的其余HTML插入到div中,它会清除整个现有视图,并仅将部分视图发送到浏览器。

<div> Other Stuff</div>
@Ajax.ActionLink("Click here to see the latest review",
             "LatestReview", new AjaxOptions
             {
                 UpdateTargetId = "latestReview",
                 InsertionMode = InsertionMode.ReplaceWith,
                 HttpMethod = "GET",
                 LoadingElementId = "progress"
             })
<div id="latestReview"></div>
<div>More Stuff</div>

所以我们从这个HTML开始:

<div> Other Stuff</div>
<a data-ajax="true" data-ajax-loading="#progress" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#latestReview" href="/Home/LatestReview">Click here to see the latest review</a>
<div id="latestReview"></div>
<div>More Stuff</div>

点击链接后我想要的是:

<div> Other Stuff</div>
<a data-ajax="true" data-ajax-loading="#progress" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#latestReview" href="/Home/LatestReview">Click here to see the latest review</a>
<div id="latestReview">[Content Of The Latest Review]</div>
<div>More Stuff</div>

但相反,我明白了:

<html><head></head><body>
<div class="review">
    content of partial view
</div>
</body></html>

我已经尝试了InsertMode中的所有选项:InsertAfter,InsertBefore,Replace和ReplaceWith。我可能错过了一些简单的东西。只是不确定它是什么。

1 个答案:

答案 0 :(得分:0)

问题原来是jquery文件之间的错过匹配。我下载了最新版本的jquery,jquery-ui和jquery.unobtrusive,然后就可以了。