为什么我的ASP.NET MVC4 ActionLink Ajax代码没有';你不能发出异步请求吗?

为什么我的ASP.NET MVC4 ActionLink Ajax代码没有';你不能发出异步请求吗?,asp.net,ajax,asp.net-mvc-4,Asp.net,Ajax,Asp.net Mvc 4,为什么这段代码不能正常工作?链接会显示出来,但当我点击它时,请求不是异步发出的。相反,浏览器发出了一个正常的请求!:/注意:我使用的是ASP.NETMVC4 以下是我的CSHTML块代码: <div id="latestReviews"></div> @Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions { Up

为什么这段代码不能正常工作?链接会显示出来,但当我点击它时,请求不是异步发出的。相反,浏览器发出了一个正常的请求!:/注意:我使用的是ASP.NETMVC4

以下是我的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"
})

我终于解决了这个问题!在_Layout.cshtml中,有一个可选部分可在视图中呈现,称为“脚本”。我所做的只是用以下内容呈现“脚本”部分:

@section scripts {
     <script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
}

    ...

<div id="latestReviews"></div>

@Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions {
    UpdateTargetId =  "latestReviews",
    InsertionMode = InsertionMode.Replace,
    HttpMethod = "GET"
})
@节脚本{
}
...
@ActionLink(“单击此处查看最新评论”、“最新街景”、“主页”、空、新AjaxOptions{
UpdateTargetId=“LateStreeViews”,
InsertionMode=InsertionMode.Replace,
HttpMethod=“获取”
})

请改写标题以反映您的要求。
请求不是异步发出的。相反,浏览器发出了一个正常请求
。您如何知道调用不是异步的?你的整个页面最终会刷新吗?我不知道你所说的
是什么意思,相反,浏览器发出了一个正常的请求!页面已完全刷新!“正常请求”=非异步ahaha,而不是在div中显示结果,浏览器转到另一个页面并显示内容。在这种情况下,不确定:您有一个id为
latestReviews
的div,该div根据需要设置为UpdateTargetId。你的代码看起来不错。我不确定这个问题是否是由于您返回的partialview最初可能是作为正常视图生成的,它将自动使用_布局页面,这可能会导致类似的问题。如果您创建一个新的基本partialview并返回该视图,是否会导致相同的问题?否!但是我尝试返回简单的文本,同样的情况也发生了。真奇怪。
@section scripts {
     <script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
}

    ...

<div id="latestReviews"></div>

@Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions {
    UpdateTargetId =  "latestReviews",
    InsertionMode = InsertionMode.Replace,
    HttpMethod = "GET"
})