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

asp.net的postback机制:__doPostBack

__doPostBack
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
function __doPostBack(eventTarget, eventArgument)
{
           if (!theForm.onsubmit || (theForm.onsubmit() != false))
        {
           theForm.__EVENTTARGET.value = eventTarget;
           theForm.__EVENTARGUMENT.value = eventArgument;
           theForm.submit();
          }
}
因为最终呈现给浏览器的内容都是html内容,采用asp.net技术也不能例外.要实现webcontrol的postback机制.只能在原来的submit上做文章.ms呈现给我们的,就是这种精巧的思维!
我看到,asp.net现在页面上添加了两个hidden input,这两个input分别用来存放触发postback的control的ID和参数.这就是我们大部分人认识到的:
__doPostBack(obj1,obj2)的第一个参数是控件ID,第二个参数是postback的参数.然后就可以在后台用Request.Form["__EVENTTARGET"]和Request.Form["__EVENTARGUMENT"]取得控件ID和参数.
很简单就实现了看似很神奇,以为内部有什么高深的处理的过程!如此轻巧的实现了asp.net的postback机制,佩服佩服!只要我们看懂了上边的代码,对__doPostBack的使用就应该不是什么难事了.可以说__doPostBack就是这么简单的一回事.
不过,另外要注意的就是asp.net的webcontrols中,Button和ImgButton是异类,它们不是利用__doPostBack来实现postback的.为什么这样,可能因为Button在html中本来就是有触发submit事件的功能吧.asp.net不过是要令原来html中一些不能触发submit的东西submit,才弄出了__doPostBack来实现.对于原来就能submit的Button,又何必多此一举呢.(仅个人理解,未经验证!)
所以如果是Button的postback,在后台是不能用Request.Form["__EVENTTARGET"]和Request.Form["__EVENTARGUMENT"]取得控件ID和参数的.那么,怎么取呢?看代码:
取Button
foreach (string str in Request.Form)
{
  Control c = Page.FindControl(str);
  if


相关文档:

ASP.NET Web Garden模型


本文介绍ASP.NET Web Garden模型,Web Garden模型可以通过 machine.config 文件中的 部分进行配置。
Web Garden模型
Web Garden模型可以通过 machine.config 文件中的 <processModel> 部分进行配置。请注意,<processModel> 部分是唯一不能放在应用程序特定的 web.config 文件中的配置部分。这就是说,Web ......

Asp.net中实现页面跳转的三种方法比较

Asp.net中实现页面跳转的三种方法比较,现在总结如下: 
1 Response.Redirect
这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳  转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!Redirect跳转机制:首先是发送一个ht ......

Asp.net(C#)实现验证码功能

新建一个专门用来创建验证码图片的页面ValidateCode.aspx
它的后台cs文件代码如下:
PageLoad
private void Page_Load(object sender, System.EventArgs e)
{
string checkCode = CreateRandomCode(4);
Session["CheckCode"] = checkCode;
CreateImage(checkCode);
......

asp.net 上传判断文件是否为图片

         private bool IsPicture(string filePath)//filePath是文件的完整路径
        {
            try
           ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号