打造颠覆你想象中的高性能,轻量级的webform框架---无刷新提交后台(第四天)

问题3:使用webform,每次提交后台界面都要刷新,能不能让我们与后台 交互的时候像ajax一样,界面不用刷新,同时还能返回参数并且继续在前台执行??

    相信很多人和我一样,这也是很多人开发放弃webform最重要的原因吧!!这也是很多人觉得webform不好的原因吧!!!其实mvc提交form表单  也会刷新,但是 视图中没有像webfrom一样的后台,所以必须使用 ajax 的方法提交后台,所以没有刷新!

其实这个问题的解决方案早在很多年前就已经解决了,只是知道的人不多,所以大家的印象中一直认为webform 提交后台总是要界面刷新。这里呢,我提供的2个种解决方案,也是我们工作和学习中常见的2个解决方案。

第一种方法是使用 jquery.form.js   的插件,我们只需要将$("#form1").sumit() 改为 $("#form1").ajaxSubmit();

例如:

function ajaxGohoutai(fangfa,canshu,aftergo) {   .//前台传入参数和方法名字,后台自动绑定执行方法
$("#hid_fangfa").val(fangfa);
$("#hid_canshu").val(canshu);

$("#form1").ajaxSubmit(function (result) {

aftergo(result);

});

}

实例:

  <input  type="button"  onclick="ajaxgo()"  value="ajax提交1个参数" />
function ajaxgo(){

ajaxGohoutai("ajax", "我不是人", function (result) {
alert(result);

});
}

  使用插件不是我们的初衷,我们希望能够用我们的代码去控制我们想要得到的数据以及能够控制form表单输出的数据,因为我们还是不知道 form表单能够无刷新提交?

想要弄懂这些个为什么,我们必须要懂得form表单的属性,为了让大家更好的了解form 表单 属性,我们来拿生活中常见 买菜的例子为例子。

表单提交其实就是一个买菜的过程,买菜钱你要准备钱等一些东西,这个东西就是我们  表单控件中的 用 name 属性标记的,  它告诉们这些是我们需要提交的东西。

买菜我们需要知道是什么方式去买菜,坐车还是走路,还是其他方法,这个就是form表单的method 属性 包括post,get,delete,put 属性。

买菜我们要知道去哪里买菜?是去超市买菜,还是去菜市场买菜,还是去其他地方买菜,这属性就是我们的  action的属性,系统默认的为 该页面本身地址的后台,其实我们只需要改变form1表单的地址,同样我们可以提交到其他页面。

买完菜之后我们需要将什么地方重写布置一下?这里的布置就是刷新的意思,系统默认的 页面本身的地址 ,系统默认属性为target=“_self”, 下面为其他属性。

_blank 在新窗口中打开。
_self 默认。在相同的框架中打开。
_parent 在父框架集中打开。
_top 在整个窗口中打开。
framename 在指定的框架中打开。

通过以上的属性可以看出,导致form 表单提交后界面被刷新的罪魁祸首是  target=“_self”的属性,它指向了自己,如果想界面不被刷新,我们看了一下,好像只能将target指向一个 iframe  的name的值,界面似乎就可以不被刷新了。下面我们来试一下呗!!!!!在前面代码的基础上,我们只需要将提交的代码修改成这样。

第一步 : 前台加入 一个隐藏的iframe 。

<iframe name="_NofreshIframe"  id="_NofreshIframe"  style="display:none;"></iframe>

第二步:修改我们以往的方法,在form表单提交将    target指向 为 iframe 的值,我们就可以不刷新提交了。

例如:

$("#form1").attr("target", "_NofreshIframe");
$("#form1").submit();

然后我们测试 发现界面确实没有刷新了,而且也能够做到无刷新提交到后台了。

但是我们发现,这还是不能达到我们想要的效果,什么效果呢?我们需要在后台执行完成后能马上执行前台,并且还能够将参数传递给前台,简单点说就是要做到和ajax 的效果一样!!!!!

没办法,那执行放到下期去解决!!!!!!!

 

时间: 2024-12-22 06:09:22

打造颠覆你想象中的高性能,轻量级的webform框架---无刷新提交后台(第四天)的相关文章

打造颠覆你想象中的高性能,轻量级的webform框架---js直接调后台的封装(第三天)

如果你没有看我第二天写的内容的,我想你是看不懂的!!!! 好了,废话不多说,怎么才能让我们的代码变得牛逼起来呢?怎么封装我们的代码呢?我们不可能 每个页面都需要那样写吧,那我们来一步一步来封装 我们的代码,变得更牛逼,维护性更高!!!!! 首先我们来分析,我昨天写的代码: 第一步:在界面写入2个隐藏控件,用来存放方法名和参数  (亲们,你们不可能每个页面都去写吧!!!当然不行,那怎么办) 我们是这样实现的,通过jquery在页面每次在页面加载完成后,判断控件是否存在,不存在在就写入,存在就不作任

打造 高性能,轻量级的 webform框架-----如何替换webform的垃圾控件(第一天)

前文描述: 随着.net  推出 MVC框架以来,webform 与 mvc 的争论一直没有停止过,一直以来 mvc 的 拥护者远远高于 webform,但是webfrom的有些优势又是mvc而无法替代的.下面我们来看一下webform相比与MVC的劣势在什么地方,而我们要做的是如何解决这些劣势,同时在性能上要超过MVC. 1.大量的服务器控件,大量的垃圾代码,导致页面加载速度慢. 2.每次点击按钮或者一些操作 界面都会刷新,又不想写 ajax . 3.每次调用后台前想先执行前台很难写, 前台

Struct1中 Form表单提交的几种方式以及无刷新提交的方式

直接action 无刷新提交 ajaxForm ajaxsubmit iform 暂记 回去整理

使用 ACE 库框架在 UNIX 中开发高性能并发应用

使用 ACE 库框架在 UNIX 中开发高性能并发应用来源:developerWorks 中国 作者:Arpan Sen ACE 开放源码工具包可以帮助开发人员创建健壮的可移植多线程应用程序.本文讨论创建使用 ACE 线程的应用程序的一些方法.Adaptive Communication Environment (ACE) 是一个高性能.开放源码.面向对象的框架和 C++ 类库,它有助于简化网络应用程序的开发.ACE 工具包包括一个操作系统层和一个封装网络 API 的 C++ 外观(facade

Javascript事件冒泡,没有想象中那么糟糕

Javascript事件冒泡,没有想象中那么糟糕  提到js事件,我们可能第一时间反应的就是“如何阻止事件冒泡”:但是事件冒泡真的是如我们想象的那么糟糕吗? 1. Event 对象  Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 2. 事件句柄 (Event Handlers)  指能够使 HTML 事件触发浏览器中的行为,比如点击(onclick).鼠标悬浮(onfocus)等 3. 什么是事件冒泡  一个对象(event.srcEle

比你想象中还要强大的枚举类型---案例篇

前几天写了一篇介绍枚举功能强大的文章.有几个朋友给我指正说,没有案例单纯描述不够直观.确实啊,在这里我就在写一个案例篇,对上次的文章做补充说明. 此案例是一个游戏服务器的消息识别器的简化.做过游戏开发都知道,客户端和服务器之间的交互需要定义很多的消息类型,而且这个消息类型是需要不断扩展的.消息识别器就是根据客户端发送过来的消息编码封装成消息实体对象,以供业务逻辑层处理.这里就用这个简化后的消息识别器展示一下枚举的一个应用.(此处主要用作枚举的一个应用实例演示,由于代码做了简化处理,设计上难免会有

想象中的python,实际的python,希望的python

一.我想象中的python 说实话,当在课表中看到这门课的时候,我的心里很害怕.因为我觉得这是一门只听名字就很难的课,我在网上搜了几份python的编程代码,看的自己眼花缭乱,想想自己学C语言时的艰辛,就觉得头都大了...... 二.实际的python 终于上课了,在课上我听老师讲python,突然意识到,其实,他可能没我想的那么难. (1).老师说python是解释性语言,他和C语言的不同在于,C语言是自己完整的写完一份程序,只有都写对了,才能得出结果.而在我练习的过程中,我发现,python

比你想象中还要强大的枚举类型

开发中枚举类型往往被用在可以一一列举的实例中,比如 enum Color{red,green,blue;}.但是可能你不会注意到它的更强大之处,比如如下问题看看你能作答吗 1.枚举类型可以有构造函数吗? 2.枚举类型可以实现接口.继承类吗? 3.枚举类型可以有static成员变量和方法吗?以及可否有实例变量和方法吗? 4.枚举类型可以被继承吗? ..........等(打开eclipse一试便知的知识) 其实enum类型就是一个特殊的java类,它几乎具有一个java类所具有的大部分功能.它更类

比你想象中坚强

某一天,我通过上网和一位很久未联系的同学联系上了.可当我问她过得好不好时,她许久未语,正当我准备责问她时,她说她快要离婚了,她老公要跟她离,她现在带着自己的孩子-我不禁唏嘘感慨!        又是某一天,天空开着老太阳,灼热的空气令我烦躁.我在上班的鞋柜处准备换上工作装备,正当我要死不活的在换鞋时无意间听到旁边有个女人的声音 "不过就不过了"这声音里充满了坚定,无奈,被迫,当然还有悲伤,绝望!我忍不住的想要转过头去窥探一下这个女人,我看到那是一个四十岁到五十岁左右的脸,岁月的痕迹无情