打造颠覆你想象中的高性能,轻量级的webform框架---无刷新提交后台并返回参数(第五天)
问题5: 使用aspx 页面执行后台方法,总是要刷新整个页面?我想提交后台不刷新页面,同时返回参数 执行前台的js 脚本,就是说类似于像 ajax 的效果一样,那我们该怎么做呢?
大家是否已经看了前面的文章,下面我们来总结一下如何去实现?
首先我们要知道 ,我们的aspx 页面 默认情况下 执行后台 是通过 form1 表单提交到后台的,而我们前面 <from> 标签中,有一个属性叫做 target的属性,系统默认情况下是“-self”,就是说返回的数据是指向自己的,表示整个页面会刷新,我们想不 刷新整个页面,我们只需要 在 界面上 放置一个隐藏的 <iframe>标签,同时将id=‘from1’ 的表单的属性target 指向 <iframe> 的name 的值,然后我们就会发现 ,aspx页面 执行后台后,页面没有刷新了。
上面是对我前一堂课程的总结!!!下面我们来看一下 C# 后台如何传输参数到前台,同时让前台能够接收到后台传出的参数????
其实写过 一般处理程序的人都知道,如何传递参数的,使用 Response.Write(“我是好人”);这样会将 这个值输入到 iframe 中,但是iframe中我们只需要我们传入的值,但是我们看到 iframe 中 除了 传入 我们需要的值之外还有很多我们不要的元素,所以我们要将这些不要的清除掉,怎么清除掉呢?
我们可以这样写
Response.ClearContent();
Response.Write("我是好人");
Response.End();
大功告成,这样前台 iframe 只显示我们输出的值了。
现在出现了另外一个问题,我们的前台如何 判断 ,后台c# 代码执行完成后再执行 前台的js方法?
我曾经想过用 用 settimeout 去循环判断 iframe 中内容的值,虽然可以实现,但是容易陷入死循环,而且还有时间差,效果远不如 ajax 。
如果不能这么做,我们可以从另外一个方面来入手,我们知道 iframe 是有一个load 的事件,我们这里必须使用 jquery的 事件绑定的方法,使用前要先去除绑定,然后在重新绑定,不然的话 iframe上就会不停的绑定不同的 load事件,代码实例如下:
$("#_NofreshIframe").unbind("load");
$("#_NofreshIframe").bind("load", function () { alert(1) });
我们来测试一下,确实能在后台代码执行完成后能执行iframe的 load事件。
那我们需要获取iframe 中的值就很容易了,这里我们这样获取iframe中的值,
var result = $(window.frames["_NofreshIframe"].document).text();
这个方法能兼容所有的浏览器的所有版本,以及iframe 跨域的问题。
其实说了这么多,讲了这么多废话,其实离我们的最终目的快要达到,就是要 打造一个 类似于 ajax 的方法,能够传输到后台,并返回参数,我们需要做的就是对前面的这些东西进行 类似于 ajax post 提交 的 封装,以及对 后期产生问题的展望!!!!
打造颠覆你想象中的高性能,轻量级的webform框架---无刷新提交后台并返回参数(第五天)的更多相关文章
- 打造颠覆你想象中的高性能,轻量级的webform框架---js直接调后台的封装(第三天)
如果你没有看我第二天写的内容的,我想你是看不懂的!!!! 好了,废话不多说,怎么才能让我们的代码变得牛逼起来呢?怎么封装我们的代码呢?我们不可能 每个页面都需要那样写吧,那我们来一步一步来封装 我们的 ...
- 打造颠覆你想象中的高性能,轻量级的webform框架-----如何替换webform的垃圾控件(第一天)
前文描述: 随着.net 推出 MVC框架以来,webform 与 mvc 的争论一直没有停止过,一直以来 mvc 的 拥护者远远高于 webform,但是webfrom的有些优势又是mvc而无法替 ...
- 打造 高性能,轻量级的 webform框架---js直接调后台(第二天)
问题2: 每次与后台打交道 都需要写一些自己都看不太懂的事件,而且传参数很麻烦,这就是.net 封装的事件,如何解决呢? 首先以为webfrom事件,都需要写 服务器控件来绑定后台的事件 ...
- JQuery中ajaxSubmit,在ie或360兼容,提交后台不能获得参数
问题描述:360兼容模式.IE浏览器,通过ajaxSubmit提交,后台不能获得参数值 解决办法:把options.semantic这个参数改成true 代码: var ajax_option={ s ...
- 又一个高性能轻量级的iOS模型框架YYModel
前言 iOS的模型框架其实有很多了,去年研究过Mantle,也了解过JSONModel.MJExtension,最近的项目项目优化的时候,再次考虑,基于轻量级.高性能的考虑,最终选择了YYModel. ...
- 0930MySQL中实现高性能高并发计数器方案(例如文章点击数)
转自http://www.jb51.net/article/56656.htm 这篇文章主要介绍了MySQL中实现高性能高并发计数器方案,本文中的计数器是指如文章的点击数.喜欢数.浏览次数等,需要的朋 ...
- 为WPF中DropShadowBitmapEffect提供轻量级的替代品
原文:为WPF中DropShadowBitmapEffect提供轻量级的替代品 为WPF中DropShadowBitmapEffect提供轻量级的替代品 ...
- std::string的Copy-on-Write:不如想象中美好(VC不使用这种方式,而使用对小字符串更友好的SSO实现)
Copy-on-write(以下简称COW)是一种很重要的优化手段.它的核心思想是懒惰处理多个实体的资源请求,在多个实体之间共享某些资源,直到有实体需要对资源进行修改时,才真正为该实体分配私有的资源. ...
- 快速电路仿真器(FastSPICE)中的高性能矩阵向量运算实现
今年10-11月份参加了EDA2020(第二届)集成电路EDA设计精英挑战赛,通过了初赛,并参加了总决赛,最后拿了一个三等奖,虽然成绩不是很好,但是想把自己做的分享一下,我所做的题目是概伦电子出的F题 ...
随机推荐
- php检测当前浏览器是否为微信浏览器
<?php /** php检测当前浏览器是否为微信浏览器 */ function is_weixin_browser(){ if(strpos($_SERVER['HTTP_USER_AGENT ...
- 使用UDP完成网络通信
语言聊天有可以接受丢包但是不能接受乱序的特性,所以可以采用UDP来 传输数据提高效率. 因为UDP本身不可靠传输的特性,为了保证玩家可靠的接入服务器和一些 操作的正确执行,还是需要一些额外的代码保证U ...
- 音乐API之QQ音乐
欢迎大家来到我的博客,这是我在博客园写的第一篇文章,但不会是最后一篇,希望大家多多关注我,支持我哦!正文开始,今天我们要讲的是QQ音乐的API,都是来源于官方的地址,以前我也想写一个,但百度谷歌之后都 ...
- 修改MySQL数据库密码
在mysql数据库里面有一个默认安装的数据库是mysql,里面有一个user表.里面的字段Host是运行登录的ip地址,User 是登录的账号Password是密码. use mysql;//使用my ...
- Watson Conversation Service Implementation Methodology
Watson Conversation Service Implementation Methodology In order to implement the WCS successfully. Y ...
- 基于Windows服务的聊天程序(一)
本文将演示怎么通过C#开发部署一个Windows服务,该服务提供各客户端的信息通讯,适用于局域网.采用TCP协议,单一服务器连接模式为一对多:多台服务器的情况下,当客户端连接数超过预设值时可自动进行负 ...
- luogu P3373 【模板】线段树 2
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N.M.P,分别 ...
- 自家服务器防止DDoS攻击的简单方法
DDoS攻击并不是新技术,该攻击方式最早可以追溯到1996年,2002年时在我国就已经开始频繁出现.在DDoS攻击发展的这十几年间,DDoS攻击也在不断变化.数据显示,最大规模的DDoS攻击峰值流量超 ...
- 漫谈格兰杰因果关系(Granger Causality)——第一章 野火烧不尽,春风吹又生
2017年7月9日上午6点10分,先师胡三清同志--新因果关系的提出者.植入式脑部电极癫痫治疗法的提出者.IEEE高级会员,因肺癌医治无效于杭州肿瘤医院去世,享年50岁.余蒙先师厚恩数载,一朝忽闻先师 ...
- MS MDS系列之初始MS Master Data Service(微软主数据服务)
背景介绍: 主数据服务(Master Data Services)是微软平台支持的主数据管理(MDM)平台.类似MDS这样的系统,如果后续维护得当,会给企业提供一个强大的中心数据库系统,来防止企业数据 ...