Ajax ActionLink: InsertionMode -- 部分视图总是替换整个视图
Ajax ActionLink: InsertionMode -- Partial View always replaces entire view
我正在尝试使用 Ajax ActionLink 将少量内容插入到视图中的 div 中。无论我尝试什么,它都不会将内容插入 div 以及视图中 HTML 的其余部分,而是会清除整个现有视图,并仅将部分内容发送到浏览器.
<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>
点击 link 之后我想要的是:
<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。我可能遗漏了一些简单的东西。只是不确定它是什么。
问题原来是 jquery 个文件之间的不匹配。我下载了jquery、jquery-ui和jquery.unobtrusive的最新版本,然后就可以了。
我正在尝试使用 Ajax ActionLink 将少量内容插入到视图中的 div 中。无论我尝试什么,它都不会将内容插入 div 以及视图中 HTML 的其余部分,而是会清除整个现有视图,并仅将部分内容发送到浏览器.
<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>
点击 link 之后我想要的是:
<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。我可能遗漏了一些简单的东西。只是不确定它是什么。
问题原来是 jquery 个文件之间的不匹配。我下载了jquery、jquery-ui和jquery.unobtrusive的最新版本,然后就可以了。