page类和回调技术(编辑修改稿)内容摘要:
记之外,不符合 XHTML标准。 这对于普通页面来说也许并无大碍,但是如果在频繁输出 javascript脚本的 网页中,可能会对网页的客户端执行效果产生影响。 因为 javascript脚本块在客户端调用方法之前还是客户端调用方法之后效果可能会不一样。 下面在 Home窗体的 Page_Load事件中添加代码,如下: 1. using System。 2. using。 3. using。 4. using。 5. using。 6. using。 7. using。 8. using。 9. using。 10. using。 11. 12. public partial class Home : 13. { 14. protected void Page_Load(object sender, EventArgs e) 15. { 16. if (!) 17. { 18. (script language=39。 javascript39。 alert(39。 + oString() + 39。 )/script)。 19. } 20. } 21. } 这样每次运行 ,如下图: 这不是我们所关心的,我们关注的是生成的 HTML代码,如下: 1. 2. 3. !DOCTYPE html PUBLIC //W3C//DTD XHTML Transitional//EN ht 4. 5. html xmlns= 6. headtitle 7. 无标题页 8. /title/head 9. body 10. form name=form1 method=post action= id=form1 11. div 12. input type=hidden name=__VIEWSTATE id=__VIEWSTATE value=/wEPDwUJNzgzNDMwNTMzZGTB6tgIyCoS2q3pZeKmhFwC24pQzw== / 13. /div 14. 15. div 16. 17. /div 18. /form 19. /body 20. /html 可以看见输出的 javascript代码在 html/html标记之外。 在 Page类中有一个 ClientScript属性,它是 ClientScriptManager的实例,这个类是在。 ClientScriptManager有如下几个常用方法: RegisterClientScriptBlock方法:向 Page 对象注册客户端脚本。 RegisterStartupScript方法:向 Page 对象注册启动脚本。 ClientScriptManager类通过键 string和 Type来唯一标识脚本。 具有相同类型的键和 Type的脚本识为同一 脚本。 下面对 Home窗体的 Page_Load事件中输入如下代码: 1. using System。 2. using。 3. using。 4. using。 5. using。 6. using。 7. using。 8. using。 9. using。 10. using。 11. 12. public partial class Home : 13. { 14. protected void Page_Load(object sender, EventArgs e) 15. { 16. 17. if (!((), ClientScriptBlock)) 18. { 19. ((), ClientScriptBlock, )。 20. } 21. 22. if (!((), StartupScript)) 23. { 24. ((), StartupScript, script language=39。 javascript39。 alert(39。 StartupScript39。 )/script)。 25. } 26. //(script language=39。 javascript39。 alert(39。 + String() + 39。 )/script)。 27. } 28. } 执行该页面时,会弹出两个提示窗口,生成的 HTML代码如下: 1. 2. !DOCTYPE html PUBLIC //W3C//DTD XHTML Transitional//EN ht 3. 4. html xmlns= 5. headtitle 6. 无标题页 7. /title/head 8. body 9. form name=form1 method=post action= id=form1 10. div 11. input type=hidden name=__VIEWSTATE id=__VIEWSTATE value=/wEPDwUJNzgzNDMwNTMzZGTB6tgIyCoS2q3pZeKmhFwC24pQzw== / 12. /div 13. 14. 15. div 16. /div 17. 18. /form 19. /body 20. /html 可以看出上面的两个方法输出的 javascript脚本都在 form/form标记之内,不会破环文章的结构,而且 RegisterClientScriptBlock方法输出的 javascript脚本代码块靠近 form标记的开始标记,而 RegisterStartupScript方法输出的 javascript脚本代码块靠近 form标记的结束标记,了解这一点对于控制动态添加的客户端脚本的时间是非常有利的。 回调技术 (CallBack) 在 默认都是整页面提交 ,此时客户端将当前页面表单中的数据(包括一些自动生成的隐藏域)都提交到服务器端,服务器重新实例化一个当前页面类的实例响应这个请求,然后将整个页面的内容重新发送到客户端,这种处理方式对运行结果没什么影响,不过这种方式加重了网络的数据传输负担、加大了服务器 的工作压力,并且用户还需要等待最终处理结果。 假如是我们希望有这么一个功能,当用户填写完用户名之后就检查服务器数据库里是否已存在该用户名,如果存在就给出已经存在此用户名的提示,如果不存在就提示用户此用户名可用,对于这种情况其实只需要传递一个用户名作为参数即可,上面的做法却需要提交整个表单,有点小题大做。 解决上面的问题的办法目前主流做法有三种:纯 javascript实现、微软 Ajax类库实现还有用 AjaxPro实现。 后两种做法在稍后的文章中会讲到,这里我讲另外一种实现:通过回调技术。 创建实现回调技术的网页与 普通 ,只不过还需要做以下特殊工作: (1)让当前页面实现 ICallbackEventHandler接口,这个接口定义了两个方法: string GetCallbackResult ()方法和 void RaiseCallbackEvent (string eventArgument)方法。 其中 GetCallbackResult ()方法的作用是返回以控件为目标的回调事件的结果, RaiseCallbackEvent()方法的作用是处理以控件为目标的回调事件。 (2)为当前页提供三个 javascript客。page类和回调技术(编辑修改稿)
相关推荐
动作中。 选择技巧 30. 把选择区域或层从一个文档拖向另一个时,按住 Shift键可以使其在目的文档上居中。 如果源文档和目的文档的大小(尺寸 )相同,被拖动的元素会被放置在与源文档位置相同的地方(而不是放在画布的中心 )。 如果目的文档包含选区,所拖动的元素会被放置在选区的中心。 Photoshop 超实用小技巧集锦八十条(3) 31. 在动作调板中单击右上角的三角形按钮
,至少 PCR 操作过程中加样器应该专用,不能交叉使用,尤其是 PCR 产物分析所用加样器不能拿到其它两个区; 8. 重复实验,验证结果,慎下结论。 二. 追踪污染源 如果不慎发生污染情况,应从下面几条出发,逐一分析,排除污染。 (一)设立阴阳性对照:有利于监测反应体系各成分的污染情况。 选择阳性对照时,应选择扩增弱,且重复性好的样品,因强阳性对照可产生大量不必要的扩增序列
为 “ Microsoft Office Document Image Writer” ,确认后将该 PDF 文件输出为MDI 格式的虚拟打印文件。 编辑提示:如果你在 “ 名称 ” 设置的下拉列表中没有找到 “ Microsoft Office Document Image Writer” 项,那证明你在安装 Office 2020 的时候没有安装该组件,请使用 Office 2020
的使用 步骤 ,第一次启动先进行 “软件配置 ”。 一个网卡的话选择唯一的一个,如果有两个或多个的话,选择你连接区域网的那个网卡。 如图 2所示: 图 2P2P 终结者配置界
Portal概述 Oracle9ias Portal的功能 Oracle9iAS Portal是 1999年初作为 Oracle WebDB 一部分引入的技术的下一代。 Oracle9iAS Portal是 Oracle9i的关键组件,作为一项服务集成到 Oracle9i应用服务器中。 有了 Oracle9iAS Portal,企业就拥有了一种强有力的手段,可以向员工、合作伙伴和供应商提供一致
所示。 只要从 “数据 ”菜单选择 “有效性 ”,再按图 15所示进行设置。 注意图 15“来源 ”中的数据要用英文逗号分隔。 图 14 图 15 在 Excel中直接获取 Inter上的数据 适用版本: Office XP/2020 由于业务需要,每天都要到 Inter上查找当天的外汇牌价,再把它复制到 Excel中。 这种重复性的日复一日的工作能不能变得更简单点呢。 打开 Excel文档,从