易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.net中服务端控件事件是如何触发的

 
 
 
 
 Asp.net 中在客户端触发服务端事件分为两种情况:
一. WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton
这两种按钮最终到客户端的表现形式为: < input name="Submit1" id="Submit1" type="submit" value=”Submit”>,这是Form表单的提交按钮,点击以后会作为参数发送到服务端,参数是这样的: 控件的name属性=控件的value值,对应上面的例子就是:Submit1= Submit。 服务端会根据接收到的控件的name属性的这个key来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。
二. HtmlControls 中的 Type为button的HtmlInputButton 和其它所有的控件事件,比如LinkButton点击,TextBox的Change事件等等:
这些事件在客户端产生后会经过一个统一的机制发送到服务端。
1. 首先asp.net页框架会使用两个Hidden域来存放表示是哪个控件触发的事件,以及事件的参数:
< !—表示触发事件的控件,一般是这个控件的name -->
< input type="hidden" name="__EVENTTARGET" value="" />
< !—表示触发事件的参数,一般是当某个控件有两个以上的事件时,用来区别是哪个事件 -->
< input type="hidden" name="__EVENTARGUMENT" value="" />
2. 服务端会生成一个jscript的方法来处理所有这些事件的发送,这段代码是:
      < script language="javascript">
  < !--
  function __doPostBack(eventTarget, eventArgument) {
  var theform = document.WebForm2;
  theform.__EVENTTARGET.value = eventTarget;
  theform.__EVENTARGUMENT.value = eventArgument;
  theform.submit();
  }
  // -->
  < /script>
 
3. 每个会引发服务端事件的控件都会在响应的客户端事件中调用上面的代码: 
 
比如,HtmlControls 中的 Type为button的HtmlInputButton的点击事件
< !—客户端的点击事件调用__doPostBack,eventTarget 参数为'Button2',表示是name为'Button2’控件触发的事件,eventArgument 为空,表示这个Type为button的HtmlInputButton只有一个客户端触发的服务端事件-->
< input language="javascript" onclick="__doPostBack('Button2','')" name="Button2" id="Button2" type="button" value="Button" /&g


相关文档:

ASP.NET防止SQL注入函数

ASP.NET防止SQL注入函数:
using System;
using System.Text.RegularExpressions;
using System.Web;
namespace FSqlKeyWord
......{
    /**//**//**//// <summary>
    /// SqlKey 的摘要说明。
    /// </summary>
    public class S ......

浅谈ASP.NET的内部机制(一)

 前言:当一个Http请求发送给一个aspx页面时,服务器进行了哪些操作?又如何来解析这个请求?ASP.NET在接收请求后是怎么运行的,如怎么编译以及怎么样用托管的代码来运行的?.....理解这些问题,使我们可以更加好的开发ASP.NET。
  1.当我们在浏览器中请求一个ASP.NET网站的某个页面的时候,如,我们在浏览器中输入" ......

关于ASP.NET控件在编译时找不到的解决方案

     本人开发ASP.NET已有两年多了。谈起ASP.NET真是让我欢喜让我忧。昨天又出现了那个奇怪的问题,就是在页面完全写好后,重新生成时报:XXX(页面名)不包含(XXX)的定义。在CS文件下是可以用 this.xxx 写出来的,页面上也没问题。在解决方案中重新生成页又可以,重新生成网站就会报这个错误。将this.XXX ......

用asp.net生成html静态页的两种方法~~~

第一种方法是对一个aspx页面生成html文件,先对服务器发送请求aspx页面,取服务器返回的html流,写到一个html文件里,aspx页面显示的是什么,生成的html页面就是什么
1、asp方法:
sub createHTML
  dim xmlhttp,strhtml,objAdoStream,i,myurl
  set xmlhttp=server.CreateObject("Microsoft.XMLHTTP")
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号