我想要一个超链接,当点击它时,它会在同一页面中打开,而不是刷新整个页面,而不是打开不同的链接。在我的控制器中,我有以下功能
public ActionResult PrivacyPolicy()
{
if (Request.IsAjaxRequest())
{
return PartialView();
}
return View();
}
当我运行程序并插入断点时,return view();
我意识到我的程序总是返回view()
而不是PartialView();
这是index.cshtml
代码
@section head{
<script type="text/javascript"
src="@Url.Content("~/scripts/AjaxDemo.js")"></script>
}
@Html.ActionLink("Show the Privacy Policy", "PrivacyPolicy", null, new{id="privacyLink"})
<div id="privacy"></div>
在部分视图 PrivacyPolicy 中,我只有很少的文本。
AjaxDemo.js
看起来像这样
$(document).ready(function () {
$('#privacyLink').click(function (event) {
event.preventDefault();
var url = $(this).attr('href');
$('#privacy').load(url);
});
});
为什么我的程序不返回部分视图?或者为什么不接受ajax请求?如果我的浏览器中的 javascript 启用,我的程序不应该在同一索引页面 (CustomAjax) 中打开链接吗?