首 页 高校招生 - 高级研修 - 教育新闻 - 学习资料 - 搜索中心 - 北斗论坛 - 名校荟萃   外语 - 计算机 - 考研 - 职业资格 - 艺术体育 - 中小学  

 
·教育搜索 EDUSOU
| 计算机 > 程序设计 > 正文 进入 教育人生网总站

Asp.Net的控件如何与Server交互

2007-08-01    教育人生网    浏览:0    进入论坛>>

Asp.Net的控件如何与Server交互

  以前写asp的程序的时候,知道只有type设置为submit的按钮,才能触发表单提交数据给服务器端。 如:Asp.Net中的Button就是等于<input type="submit">. 但是现在Asp.Net的好多控件都可以任意的和服务器端交互,如:LinkButton。这是怎么实现的呢? 难道是一种全新的方式吗?

  其实,这只是微软的一种变通的方式。
 
  我们先来看看客户端的代码是如何的。  我这里是一个带有LinkButton的页面,  其实LinkButton在客户端就等于html里的A. 我们来看看LinkButton为什么也能和服务器端交互? ]


  当我们点击右键查看该页面的源代码时,看到:
  
  <script type="text/javascript">
  <!--
  var theForm = document.forms['ctl00'];
  if (!theForm) {
   theForm = document.ctl00;
  }
  function __doPostBack(eventTarget, eventArgument) {
   if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
   theForm.__EVENTTARGET.value = eventTarget;
   theForm.__EVENTARGUMENT.value = eventArgument;
   theForm.submit();
   }
  }
  // -->
  </script>
  
  <a id="simpleLinkButton1" href="javascript:__doPostBack('simpleLinkButton1','')">Click Me</a>
  <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
  <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
  从上面的代码中就可以看出simpleLinkButton1是一个链接,通过客户端代码来提交所在的表单。
  而其中两个隐藏域,则用来交换数据的,就是把__doPostBack的两个参数值赋给这两个隐藏域。
  这就是为什么LinkButton也具有提交数据的最直观的原因。
  
  那么这上面的代码是怎么生成的呢?
  我们看LinkButton的源代码就可以清楚地知道:
  protected internal override void OnPreRender(EventArgs e)
  {
   base.OnPreRender(e);
   if ((this.Page != null) && this.Enabled)
   {
   this.Page.RegisterPostBackScript();
   if ((this.CausesValidation && (this.Page.GetValidators(this.ValidationGroup).Count > 0)) || !string.IsNullOrEmpty(this.PostBackUrl))
   {
   this.Page.RegisterWebFormsScript();
   }
   }
  }


实用导航:高考 | 考研 | 自考 | 在职研 | 外语 | IT | 公务员 | MBA | 舞蹈
推荐:如何戴上硕士帽 | 上海培训学校大全 | 学习交流交友 | 外语学习资料

特别说明:由于各方面情况的不断调整与变化,教育人生网所提供的所有考试信息仅供参考,敬请考生以权威部门公布的正式信息为准。

来源:网络    责任编辑:GTF  


 相关资讯 关键字:  相关课程

 ·在ASP.Net中应用Javascript  2007-8-2
 ·.Net PetShop4.0分布式 数据库设计  2007-8-2
 ·在ASP.NET代码里访问跟踪信息  2007-8-2
 ·ASP.NET的错误处理机制  2007-8-2
 ·.NET 连接池救生员  2007-8-2
 ·基于ASP.NET的网页复用方法  2007-8-1

 ·[北大青鸟]ACCP 4.0软件工程师(第..  ¥8440.00
 ·[北京巨人]高级JAVA程序员班  ¥13230.00
 ·[八方永信]软件工程JAVA开发工程师..  ¥17800.00
 ·[金海计..]VC++程序设计培训班  ¥500.00
 ·[文华学院]Java 2双证班  ¥3730.00
 ·[水木教育]Java软件工程师企业级项..  ¥2800.00

 
主编推荐 更多   最新资讯 更多   经典下载 更多
2008英语四六级考前辅导专题
2008英语四六级考前辅导专题
 
 网上报名 优惠便捷
 
 
 求学热点关注
研修 | MBA/EMBA 在职研究生 短训研修
学历 | 普通高校 自考成考 网络院校 中外合作
外语 | 中高级口译 日语 四六级 新概念 雅思
综合英语 商务英语 口语听力 小语种 托福
职业 | 报关报检 物流 会计上岗证 会计电算化
外贸
其他 | IT职业 平面设计 网页设计 辅助设计 考研 中小学辅导 夏令营 舞蹈 瑜珈 音乐
 
 
 论坛精华 求学交友
雅思 |
张红岩《TOEFL iBT词以类记》完整版(..
日语 |
新版 标日在线教学视频 初上1
口译 |
上海中高级口译考试全解析专题
考研 |
微观经济学(高鸿业)各章重点小结PDF
职业 |
【职业资格专题】邮政营业员试题
舞蹈 |
舞蹈大比拼,选择你喜欢[舞蹈特别专题]
 
 热点专题
IT就业培训
 
上海中高级口译完全解析
2008英语四六级考前辅导
教育人生网真题中心正式上线
上海中高级口译考试全解析
在职研究生报考指南
2007年12月四六级真题
2000-2007日语能力考真题..
2008在职硕士备考指南
2008年注册会计师备考专题
高等教育自学考试完全指南

教育新闻 - 免费资料 - 搜索中心 - 名校荟萃 - 北斗论坛 - 会员中心 - 主编信箱 - 网站地图 - 欢迎批评指正 设定本页为浏览器首页
教育人生网简介 - 联系我们 - 招贤纳士 - 客服中心 - 免责声明 - 广告服务 - 火爆加盟 - 中国教育搜索