__doPostBack用法感悟

.Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法 针对.Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法 立即下载

今天遇到了__doPostBack函数,在网上看到了很多关于__doPostBack使用的方法,但是感觉说法都有些出入,或者不清楚。因此也让我这个本来一向喜欢引用别人东西的人忍不住要在自己的博客里面留下自己的一点原创了。。

言归正传,首先要记住这个函数的前面是两个下划线. __doPostBack=  "_" + "_" + "doPostBack".

再介绍一下__doPostBack函数的作用。我们先来看一下_doPostBack函数的内容:

<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE4NDIzMDg2NDRkZMlHJoBQ9CYcWBtBK+zrfZzKoh/i" />
</div>

<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
    theForm 
= document.form1;
}

function __doPostBack(eventTarget, eventArgument) {
    
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value 
= eventTarget;
        theForm.__EVENTARGUMENT.value 
= eventArgument;
        theForm.submit();
    }

}

// -->
</script>
    
<div>

上面这段是直接从含有自动回传功能控件的.net Web页面的HTML源代码里面粘帖过来的。

其中eventTarget 和eventArgument,是两个就是用来存储在回送的时候获取是哪个控件触发了回送,并且带了什么参数。总之,调用__doPostBack函数可以实现客户端控件调用服务器端控件的响应。或者是在javascript里面调用.net的服务器控件事件。这一点可以充分用在子窗口调用父窗口中某个服务器控件的服务器端的事件。

 然后我们可以从LinkButton这个控件入手,分析一下 LinkButton的工作流程,就知道__doPostBack的使用方法了。因为微软的LinkButton就是使用__doPostBack函数来达到使用客户端的控件来调用服务器端的函数的。

我们可以运行一个包含有LinkButton的aspx页面,查看他的源代码,发现关于LinkButton这个控件的代码竟然是一个超链接:

aspx中LinkButton的代码:
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">button1</asp:LinkButton>
在html中的源码中被翻译成了:
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">button1</a>

上面的代码可以明显的看出,LinkButton只不过就是一个超链接,他的链接就是执行javascript语句通过调用__doPostBack函数来调用服务器端的后台代码的。因此,在有LinkButton的页面,会自动加上上面的__doPostBack函数。

但是在我们调用__doPostBack函数时,有些时候调用这个函数会出现"对象不存在"的脚本错误? 那是因为Html里面没有__doPostBack函数体,一般在拖放那些有自动回传功能的控件时,当把他的autoPostback属性设为True,在运行的时候系统会自动添加__doPostback函数体,当然最直接的办法就是添加一个LinkButton然后把其Text属性设为空,切记不要设Visible属性,因为如果Visible=false,在翻译成Html时,直接就忽略LinkButton的存在了。

深入理解__doPostBack 客户端调用服务端事件 __doPostBack是一个纯粹并且是非常简单的javascript函数,大部分的页面PostBack都是由它触发的。 立即下载

相关推荐

关于前台调用后台事件__doPostBack函数

关于前台调用后台事件__doPostBack函数

JS中__doPostBack用法

要理解__doPostback函数的用法,首先我们要理解Asp.net 中服务端控件事件是如何触发的。 Asp.net 中在客户端触发服务端事件分为三种情况: 一. WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton 这两种按钮最终到客户端的表现形式为: <input name="Submit1" id="Submi...

极客神殿 5515

Android流畅度优化实战:从掉帧定位到布局与渲染调优

在移动应用开发中,性能优化是决定用户体验与留存率的关键环节,其中Android流畅度优化更是核心命题。用户感知的“卡顿”往往并非持续低帧率,而是由于掉帧率波动引发的偶发不流畅。本文从性能优化理论出发,系统讲解如何使用Systrace、CPU Profiler等工具定位掉帧瓶颈,深入分析布局层级过深、过度绘制、对象分配与GC压力等常见诱因。同时结合冷启动耗时、列表滚动掉帧、Bitmap加载等真实工程案例,阐述从应用层到系统层的分级优化策略,并给出低端机适配、异步化改造及线上监控体系搭建的实践方案。内容覆盖布局

weixin_29185493的博客 201

JavaScript中的 __doPostBack() 方法

__doPostBack可以实现客户端控件调用服务器端控件的响应, __doPostBack方法的格式为:__doPostBack(eventTarget,eventArgument)   参数:  eventTarget:是要触发的服务器控件的客户端ID        eventArgument:参数 这个两个值在后台可以通过下边方法得到: Request["__EVENTTARGET"]:获取得到引发页面PostBack的控件ID Request["__EVENTARG

csnewdn的专栏 1379

xilinx 暑期学校项目(二) 通过HLS实现二维傅里叶变换(2Dfft)及图像数据读入读出方法

要进行维纳滤波,首先就是要将图像矩阵通过二维fft变换到频域。 但是hls_fft.h中只有一维fft的函数,因此我们采用对行逐行进行一维fft,再对列逐行进行一维fft来实现二维fft的效果。 文章目录自带的fft例程二维fft的实现数据的读入和读出读入读出维纳滤波操作 自带的fft例程 自带的fft例程中包括有如下四个函数 void dummy_proc_fe( bool direction, config_t* config, cmpxData in[FFT_LENGTH],

战斗果冻的训练中心 2329

手把手教你用Python处理MAHNOB-HCI多模态数据集(含脑电EEG/眼动/视频数据同步实战)

本文详细介绍了如何使用Python处理MAHNOB-HCI多模态数据集,涵盖脑电(EEG)、眼动追踪和视频数据的同步解析与对齐。通过MNE-Python、pandas和OpenCV等工具,实现从BDF、TSV到XML格式的高效处理,解决时间轴对齐难题,助力情感计算与人机交互研究。

weixin_30998797的博客 369

(论坛答疑点滴)__doPostBack()无效?

 有的时候想在客户端触发服务器端控件的click事件 我们这么写__doPostBack(id,) 但是为什么有的时候会实效? 因为__doPostBack()函数并没有在页面产生 (如果没有类似linkbutton等控件的话asp.net引擎不产生这段js) 解决方法如下: 比如前台页面 asp:Button id="Button1" runat="server" Text="Butto

1210

最新Python爬虫实战(入门爬虫篇)——案例3:爬取二次元cos图片批量下载到本地(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了二次元图片的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖“请求列表页→提取详情页URL→请求详情页→提取图片链接→保存图片”的完整流程,与豆瓣案例的核心逻辑和格式完全对齐。学习重点包括:抓包工具定位多层级数据源、正则表达式匹配复杂链接、模拟请求头绕过反爬机制、文件名安全处理及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践,帮助学习者掌握多层级页面爬取的核心逻辑。

努力让自己发光,对的人才能迎着光而来 14万+

__dopostback的用法

__doPostBack可以实现客户端控件调用服务器端控件的响应, __doPostBack方法的格式为: __doPostBack(eventTarget,eventArgument)   参数:  eventTarget:是要触发的服务器控件的客户端ID         eventArgument:参数 这个两个值在后台可以通过下边方法得到: Request["__EVENTTA

langhua553的专栏 800

KEPServerEX物联网网关(IoT Gateway)REST客户端代理(非原创)

(中文版)资料来源于【OPC-KEPServerEX学习KEPWare交流】905485143群的【455196383】【零下一度】 一。KEPServerEX物联网网关REST客户端代理演示 在KSE中,首先构建一个带有通道/设备/标签的模拟器系统。 例如,下面是三个随机项目。 直接到IoT网关插件,添加新代理。 从类型列表中选择REST Client。 终结点...

-雲飛兄-博客 5808

微信小程序启用蓝牙设备特征值变化时的notify功能

注意:这里的serviceUUID、notifyCharacteristicUUID 我会在后面写入数据时做重点说明。isNotifyBLECharacteristic:false, //是否启用蓝牙设备服务特征 notify。二、启用蓝牙设备特征值变化时的notify功能。下一篇 将继续介绍 微信小程序蓝牙设备写入数据。

wsk198726的专栏 1172

__doPostBack的总结

1.__doPostBack是什么,有什么用?   __doPostBack属于javascript的一个方法,是用于客户端向服务器提交信息,从而调用后台。asp.net的服务器控件都会自动调用__doPostBack脚本。2.__doPostBack的参数怎

在坑中上爬,在打击中成长 3791

AMBA-CHI协议详解(十五)

Write transactions事务描述以及请求属性,cache line状态转换。

Crazzy_M的博客 650

__doPostBack用法感悟(转)

今天遇到了__doPostBack函数,在网上看到了很多关于__doPostBack使用的方法,但是感觉说法都有些出入,或者不清楚。因此也让我这个本来一向喜欢引用别人东西的人忍不住要在自己的博客里面留下自己的一点原创了。。 言归正传,首先要记住这个函数的前面是两个下划线. __doPostBack=  "_" + "_" + "doPostBack". 再介绍一下__doPostBac...

weixin_33971977的博客 154

ERROR: Ignored the following yanked versions: 0.8.3, 0.10.19.dev18 的解决办法

关于这个问题,博主是在进行项目中的python依赖包安装的时候遇见的,遇到的异常:关于这个问题,是在。

Spring Boot-Common On With You 643

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

__doPostBack 未生成

事情是这样的: asp.net 项目 采用了 DevExpress 第三方控件,然后 网站架设在 win2003 服务器上面。 本地测试 都是 OK的,然而 ,在服务器 上面 却出现了 __doPostBack 未定义的错误。 然后我一直都错误的以为是 第三方控件 的问题,然而 我错了。 __doPostBack 是.net框架自动生成的,我观察过生成之后的源码,服务器 确...

weixin_30716725的博客 110

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ASP.NET __doPostBack函数

__doPostBack函数可以实现客户端控件调用服务器端控件的响应。或者是在javascript里面调用.net的服务器控件事件。这一点可以充分用在子窗口调用父窗口中某个服务器控件的服务器端的事件。 客户端js利用__doPostBack(sender,args)函数来提交到服务器的方法: __doPostBack(sender,args) sender:提交的控件 args: 事件参数。一般赋空值。

zoey的专栏 2014

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

有关__dopostback函数的用法

__doPostBack是最简单的使用方法是: 1、在页面上划一个能产生 __dopostback函数的控件.(并不是所有的web控件都是用__dopostback产生事件回发),我个人喜欢用linkbutton,然后把text属性设为空值,如果隐藏控件的话,那么__dopostback函数不会产生. 2、然后在你想要触发postback事件的控件ID,写入到如下函数调用中: __doPos

yuchang2012的专栏 1166

__doPostBack方法解析

今天工作时遇到一个需要根据Gridview具体内容来判断是否弹出窗口,而Gridview中包含分页、排序等,它们并不能直接从查询字符串、或表单简单的分析出。这是因为存在__doPostBack方法,以及和其紧密关联的__ EVENTTARGET和__ EVENTARGUMENT。 使用在asp.net开发网页时,页面Html代码会包含类型下面代码的__doPostBack方法: <scr...

weixin_34055787的博客 414

浅谈如何利用__doPostBack()函数做自己灵活的AJAX.NET应用

大家都很惊叹微软的Ajax.NET简单的操作,但是有没有觉得它的灵活性大大减小了呢?以前纯手写的xmlhttm的Ajax和AjaxPor.dll提供的Ajax都是非常灵活的,可以使用任意的客户端触发方式(onclick,onmouseover,onkeydown...),和调用任意的服务器端自定义函数。而微软的Ajax.net似乎只能使用服务器控件的很少的事件,最常用的就是Button的oncli

遥远的心 2107

深入学习__doPostBack函数

  在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的.  比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单的方法就是通过一个字符串,比如string strButton = <input type =”button” ID=”button1”>,然后输出到页面,但是如果我们需要这个控件...

u014712365的博客 163

__doPostBack

<br />__doPostBack是一个纯粹并且是非常简单的javascript函数,大部分的页面PostBack都是由它触发的。注意,这里是“大部分”,因为只有两个Web Server Control    会自己触发页面的PostBack,其它的所以控件都是通过__doPostBack函数触发页面的PostBack,那先来看一下这个函数的定义吧:<br /><br />CODE1:<br /><br /><input type="hidden" name="__EVENTTARGET" id="__E

397
上一篇: GridView分页固定Pager行
下一篇: 开心一刻
kucool
博客等级 码龄21年 16粉丝 64原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值