javascript-MVC5 Ajax.ActionLink加载新页面而不是替换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-MVC5 Ajax.ActionLink加载新页面而不是替换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1754字,纯文字阅读大概需要3分钟。
内容图文
![javascript-MVC5 Ajax.ActionLink加载新页面而不是替换](/upload/InfoBanner/zyjiaocheng/650/c1b54445559c4a0ca483bbc28239be0c.jpg)
我知道类似的问题已经被问过多次了.对于我的一生,我无法确定自己所缺少的,请忍受.
我正在尝试使用页面上某个项目的编辑器加载部分视图,并将该编辑器显示为Bootstrap模态,但它始终加载到新页面.
_Layout.cshtml引用jQuery包:
@Scripts.Render("~/bundles/jquery")
`BundleConfig.RegisterBundles()添加了jQuery和简洁的Ajax:
bundles.Add(new ScriptBundle("~/bundles/jquery")
.Include("~/Scripts/jquery-{version}.min.js") // <-- must come first
.Include("~/Scripts/jquery.unobtrusive-ajax.min"));
Scripts文件夹包含两个文件:
该视图具有一个具有正确ID的空div以接收内容
<div id="editor"></div>
我这样构造了ActionLink:
@Ajax.ActionLink(linkText: "Edit",
actionName: "GetEditor",
routeValues: new {id = Model.Id},
ajaxOptions: new AjaxOptions
{
OnSuccess = "showEditor",
UpdateTargetId = "editor",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST"
})
我的JS函数只是显示模态:
function showEditor() { $("#editor").modal("show"); };
…只是为了查看是否可以正常使用,我从控制器返回了一个简单的字符串:
public ActionResult GetEditor(string id) => Content("Success");
编辑1
在我的web.config中,我同时启用了客户端验证和兼容的js:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
编辑2
我尝试不使用高速缓存(Ctrl F5)进行刷新而得到相同的结果,并且开发工具未显示JavaScript错误.我在所有浏览器上都得到相同的结果.
我忘记了什么?
解决方法:
原来我只是个白痴:
我试图手动添加不引人注目的验证库:
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
…并且开始工作.然后我以为捆绑可能出了点问题-尽管我非常小心地将库保持在正确的顺序.
bundles.Add(new ScriptBundle("~/bundles/jquery")
.Include("~/Scripts/jquery-{version}.min.js")
.Include("~/Scripts/jquery.unobtrusive-ajax.min")); // <--- what's missing?
原来,需要javascript文件的全名.
内容总结
以上是互联网集市为您收集整理的javascript-MVC5 Ajax.ActionLink加载新页面而不是替换全部内容,希望文章能够帮你解决javascript-MVC5 Ajax.ActionLink加载新页面而不是替换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。