我有一个视图页面
我的观看页面
<div id="beReplaced">
@Ajax.ActionLink("please click on me to bring the partial view",
"PatrialViewToBeCalled",
new AjaxOptions()
{UpdateTargetId = "beReplaced",
InsertionMode = InsertionMode.InsertAfter,
HttpMethod="Get",
LoadingElementId = "prgress" })
</div>
我有一个控制器
public PartialViewResult PatrialViewToBeCalled()
{
var customer = db.Customers.First();
return PartialView("PartialViewThatMustBeShow",customer);
}
但是当我点击生成的链接时,它会将我带到一个新页面而不是 将部分视图替换或附加到div标签。
有什么问题?
答案 0 :(得分:10)
可能是你错过了:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
在主视图中。这告诉主视图识别ajax助手。
答案 1 :(得分:1)
我找到了解决方案。问题是由于损坏的unobtrusive-ajax.min.js文件造成的。
答案 2 :(得分:0)
如果您在页面中加载了jQuery,为什么不使用简单的jquery get / load方法来获取局部视图?
<div id="beReplaced">
<a href="#" id="lnk1">please click on me to bring the partial view</a>
</div>
<强>的Javascript 强>
$("#lnk1").click(function(){
$.get('/controller/PatrialViewToBeCalled', function(data) {
$('#beReplaced').html(data);
});
});
答案 3 :(得分:0)
如果您正在使用ASP .NET MVC 4,请确保
@Scripts.Render("~/bundles/jquery")
也在body标签的末尾。
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
答案 4 :(得分:0)
我一直在研究它太长时间了,认为它不起作用。查看页面源也没有显示任何内容。
最终,当我在Firebug的控制台中看到成功的请求时,我发现它确实起作用了。它只是在屏幕上显示出来。在Firebug的HTML选项卡中,我终于找到了输出,即使它没有显示在页面源中。