科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Asp.Net的控件如何与Server交互

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

以前写asp的程序的时候,知道只有type设置为submit的按钮,才能触发表单提交数据给服务器端。

作者:中国IT实验室 来源:中国IT实验室 2007年9月7日

关键字: Server ASP.NET

  • 评论
  • 分享微博
  • 分享邮件
     以前写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();
   }
   }
  }
  
  以上只是把自己在学习工作过程中的一些体会记录如此,防止自己忘记了。
  也望和大家多多交流!
  
  http://www.cnblogs.com/maplye/archive/2006/08/29/489338.html

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章