昨天搞了一下午的Ajax.BeginForm都没能实现异步刷新,一直将返回的数据提交到新的页面,在网上搜了n多方法都不行,问了n多人都没能搞定,今天大一早,就意外的被我发现了问题所在。

布局页:

<div id="upload-body">
<div id="returnData" style="display:none"></div>
@using (Ajax.BeginForm("Index", "Test",
new AjaxOptions {
InsertionMode = InsertionMode.Replace,
HttpMethod = "Post",
//UpdateTargetId = "returnData",
OnSuccess = "Reload(data)",
OnFailure="DisplayError(data)" }))
{
<fieldset>
<legend> no fresh to upload data</legend>
User Name:@Html.TextBoxFor(m=>m.UserName)
<input type="submit" value="Submit" />
</fieldset>
}
</div>
<script type="text/ecmascript">
function Reload(data) {
alert(data);
}
function DisplayError(data) {
alert(data);
}
</script>
引入jquery.unobtrusive-ajax.js:
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>

control:

[HttpPost]
public JsonResult Index(Models.TestModels.TestModel testModel)
{
return Json("Hi,"+testModel.UserName, JsonRequestBehavior.AllowGet);
}

然后就出现了问题:

提交后:

这不是想要的结果,美好的结果是:页面不会刷新或跳转页面。然后就开始查找问题,看看jquery.unobtrusive-ajax.js是否引用到,

确实引用到了,然后上网找啊找,确实没啥可用资源,各种方法都试过了,问题还是没解决,唉,难道Ajax.BeginForm只是徒有其名,心里默默暗骂:真%¥垃圾%¥!#¥%...

昨天晚上无果而归。

今天早上来到公司,再次用Chrome打开,擦,惊奇的发现:

瞬间内心产生一丝狂暴的欣喜,莫非是因为这,不对呀,确认已经引用过了呀?

仔细观察倒数第三张图,再次惊奇的发现,jquery在jquery.unobtrusive-ajax之后,

原来_Layout.cshtml的引用在最下面,嘿嘿,所以果断直接把jquery.unobtrusive-ajax的引用放在了jquery后,

再次运行:

哈哈,效果真心不错,顿时,心中不禁对Ajax.BeginForm产生了无比的崇敬与钦佩,真是太吊了!

总结:注意jQuery和其他js的引用顺序。

asp.net mvc Ajax.BeginForm不能异步刷新,或转到新页面,或页面还是刷新了,的原因(或解决办法)(转)的更多相关文章

  1. asp.net MVC  Ajax.BeginForm 异步上传图片的问题

    当debug到这里,你们就发现不管是 Request.Files["Upload"]亦或 Request.Files[0] 都不会取到文件流. 这就是我要说的,当使用Ajax.Be ...

  2. Asp.net Mvc Ajax.BeginForm提交表单

    之前Mvc中一直用Html.BeginForm提交表单,即如下: @using (Html.BeginForm("Add", "News", FormMetho ...

  3. MVC Ajax.BeginForm重复提交解决方法

    mvc使用MVC Ajax.BeginForm提交的时候有重复提交结果的时候检查相关js文件引用情况, 其中mvc4注意 1 2 3 4 @Scripts.Render("~/bundles ...

  4. ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  5. ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

    本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深 ...

  6. [转]ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  7. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  8. asp.net mvc ajax 异步刷新例子

    这几天在asp.net中使用ajax来做异步刷新,这里整理一下 1.首先看前台页面点击的时候调用函数 function shuxin() { $.ajax( { url: "GetValue ...

  9. Asp.Net MVC Ajax

    将ASP.NET MVC中的form提交改为ajax提交 在ASP.NET MVC视图中通过 @using (Html.BeginForm()) 产生的是form表单提交代码,可以用javascrip ...

随机推荐

  1. linux云计算集群架构学习笔记:系统文件的目录结构

    文件的基本管理和XFS文件系统备份恢复 1.1  Linux系统目录结构,相对/绝对路径. 1.2  创建/复制/删除文件,rm -rf / 意外事故 1.3 查看文件内容 1.4 xfs文件系统的备 ...

  2. Linux文件与目录管理之ls的使用

    来源:鸟哥的私房菜 查看文件与目录 ls ls [-aAdfFhilnrRSt] 目录名 ls [--color={never,auto,always}] ls [--full-time] 目录名 选 ...

  3. Oracle 版本查看及版本号说明

    http://blog.163.com/magicc_love/blog/static/185853662201210194592757/ select * from v$version; 或sele ...

  4. saltstack实战4--综合练习1

    规范配置管理 实际工作中可能会有现网环境,基线环境,开发环境. 需要使用saltstack统一管理.机器多了,业务多了,可能配置文件存放的会比较乱,因此可以统一管理起来 我们可以再加2个目录,test ...

  5. SparkSQL之数据源

    准备json文件: cat /root/1.json {"name":"Michael"} {"name":"Andy" ...

  6. Ant 命令总结

    1 Ant是什么? Apache Ant 是一个基于 Java的生成工具.生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随着应用程序的生成 ...

  7. 第三十八篇、给UITabBar按钮的动画效果

    在很多情况下,我们也时常有这样的需求,就是在UITabBar切换的时候,添加一些动画效果 1.在UITabBar触发点击方法的时候捕获当前点击的item 2.使用coreAnimation设置动画效果 ...

  8. 问题解决:两台虚拟机不能互相ping通的原因

    要是两台虚拟机能够PING通下列要求缺一不可:1.你所设置的虚拟网络的网络号不能跟外面你正在使用的真实的网络号一样2.防火墙必须关闭3.你设置的那俩台虚拟机必须在同一网段内4.两台虚拟机的主机名不能相 ...

  9. template_11实参演绎

    1,演绎过程匹配类型A(来自实参的类型),参数化类型P(行参参数声明)如果被声明的参数是一个引用声明g(T& )那么P就是所引用类型T:f(T)中P就是所声明的参数类: decay指从数组和函 ...

  10. new失败判断

    使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为空;但是C++ 里,如果 new 分配内存失败,默认是抛出bad_alloc异常,不会返回空:但是有些编译器对c++标准支 ...