【发布时间】:2012-12-05 13:20:32
【问题描述】:
为什么这段代码不能正常工作?显示了链接,但是当我单击它时,请求不是异步发出的。相反,浏览器发出了一个正常的请求! :/ 注意:我使用的是 ASP.NET MVC 4!
这是我的 CSHTML 块代码:
<div id="latestReviews"></div>
@Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions {
UpdateTargetId = "latestReviews",
InsertionMode = InsertionMode.InsertAfter,
HttpMethod = "GET"
})
这是我的控制器动作:
[HttpGet]
public PartialViewResult LatestReviews(){
var review = RestaurantReviewQueries.FindTheLatest(_db.Reviews, 1).Single();
return PartialView("_Review", review);
}
【问题讨论】:
-
请改写您的标题以反映您的要求。
-
the request is not asynchronously made. Instead the browser made a normal request。你怎么知道调用不是异步的?你的整个页面最后刷新了吗?我不确定您所说的Instead the browser made a normal request是什么意思 -
没错!页面完全刷新! "Normal request" = not async ahaha 浏览器没有在 div 中显示结果,而是转到另一个页面并显示内容
-
在这种情况下不确定:您有一个 id 为
latestReviews的 div,并且根据需要设置为 UpdateTargetId。你的代码看起来不错。我不确定这个问题是否是由于您返回的部分视图可能最初是作为普通视图生成的,该视图将自动使用可能导致此类问题的 _layout 页面。如果您创建一个新的基本局部视图并返回它,它会导致同样的问题吗? -
不!但是我尝试返回简单的文本并且发生了同样的情况。这很奇怪。
标签: asp.net ajax asp.net-mvc-4