Button的UseSubmitBehavior屬性

深度强化学习 | 详解基于价值的强化学习DQN算法(附Pytorch实现) 深度Q网络DQN的核心原理是通过经验回放池和目标网络技术拟合高维状态空间,是Q-Learning算法的深度学习版本,本文分析DQN的基本算法,并给出训练实例和实际案例 阅读详情

前章

前段时间碰到button控件的一个属性问题UseSubmitBehavior。

在MSDN上查看,UseSubmitBehavior 属性时,有这样一句话
“获取或设置一个布尔值,该值指示 Button 控件使用客户端浏览器的提交机制还是 ASP.NET 回发机制。 ”

" 默认情况下,此属性的值为 true ,从而导致 Button 控件使用浏览器的提交机制。如果指定为 false ,则 ASP.NET 页框架将客户端脚本添加到页面,以将窗体发送到服务器。"
这里讲到 客户端浏览器的提交机制 和 ASP.NET 回发机制 ,这两种机制有些不明白。于是在论坛上发了个帖子,只有一个人简单的回复了下。讲的内容也只是先前我再msdn上看的介绍UseSubmitBehavior的内容。

 

可能是问题没有问清楚,于是google了下。发现了一篇文章http://blog.youkuaiyun.com/W3031213101/archive/2007/12/18/1946769.aspx 内容如下:

现在就分段进行分析下:

转载   页面回传与js调用服务端事件、PostBack的原理 

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

Asp.net 中在客户端触发服务器端事件分为两种情况:
一.   WebControls 中的 Button 和 HtmlControls 中的 Type 为 submit 的 HtmlInputButton
这两种按钮最终到客户端的表现形式为: < input type ="submit" value ="Submit"> ,这是 Form 表单的提交按钮,点击以后会作为参数发送到服务端,参数是这样的:
控件的 name 属性 = 控件的 value 值,对应上面的例子就是: Submit1= Submit 。服务器端会根据接收到的控件的 name 属性的这个 key 来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。

析 :这里讲到两种服务器控件<asp:button/>和<asp:imagebutton/>,他们默认 触发事件的方式就如同前面MSDN讲到的浏览器的提交机制。我们可以做个测试查看下,到底是怎么回事。这个很常见,往往最习以为常的东西却是最让人忽视的。
例1:
前台
<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" />
        <asp:ImageButton ID="ImageButton1" runat="server"
            onclick="ImageButton1_Click" />
后台:
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
           response.write("1");
        }
        protected void Button4_Click(object sender, EventArgs e)
        {
          response.write("2");
        }
在第一次请求页面以后查看页面源代码,
发现没有什么可以引发事件触发的代码,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
	无标题页
</title></head>
<body>
    <form name="form1" method="post" action="default.aspx" id="form1">
<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="/wEPDwUKMTEzODk5NzQ4MWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFDEltYWdlQnV0dG9uMZP+1UiluyDtaGTdzOnSzX5ckWf7" />
</div>
 
<script type="text/javascript"> 
//<![CDATA[
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>
 
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwK53pImAoznisYGAtLCmdMIz6upEG93aRH4h08lrQNs2kst81M=" />
</div>    
     <h2>正在建设中....</h2>
    <input type="button" name="Button1" value="Button" onclick="javascript:__doPostBack('Button1','')" id="Button1" />
    <input type="image" name="ImageButton1" id="ImageButton1" src="" style="border-width:0px;" />
    </form>  
    
      
</body>
</html>

 但是当我们点击button 和imagebutton的时候,事件方法会触发,输出1,或2。我想这就是客户端浏览器的提交机制。



二.   HtmlControls 中的 Type 为 button 的 HtmlInputButton 和其它所有的控件事件,比如 LinkButton 点击, TextBox 的 Change 事件等等:
这些事件在客户端产生后会经过一个统一的机制发送到服务端。
 
1. 首先 asp.net 页框架会使用两个 Hidden 域来存放表示是哪个控件触发的事件,以及事件的参数:
<!― 表示触发事件的控件,一般是这个控件的 name -->
< input type ="hidden" value ="" />
<!― 表示触发事件的参数 , 一般是当某个控件有两个以上的事件时,用来区别是哪个事件 -->
< input type ="hidden" value ="" />
 
2. 服务端会生成一个 jscript 的方法来处理所有这些事件的发送,这段代码是:
< script language ="javascript" type ="text/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" Button2','')" type="button"   value="Button" />
又比如, TextBox 控件的 Change 事件
<!― 客户端的 onchange 事件调用 __doPostBack , eventTarget 参数为 ’TextBox1’ ,表示是 name 为 ’TextBox1’ 控件触发的事件,而 TextBox 控件只有一个客户端触发的服务端事件 TextChanged ,故服务器就会去触发这个 TextBox 的 TextChanged 事件 ->
<input type="text" TextBox1','')" language="javascript" />
 
4. 客户端触发事件后调用 __doPostBack 方法,将表示触发的控件源的 eventTarget 和事件参数 eventArgument 分别付给两个隐藏域 __EVENTTARGET 和 __EVENTARGUMENT ,然后提交 Form ,在服务端根据 __EVENTTARGET 和 __EVENTARGUMENT 来判断是哪个控件的什么事件触发了。

析 :以上4个描述讲的大概意思就是,除了第一讲的服务器控件以外,其他的事件的触发都是通过__doPostBack(eventTarget, eventArgument)来解决的。然后我从工具箱里托了一些控件出来,第一个放的是<asp:LinkButton/>,运行查看源代码发现了
function __doPostBack(eventTarget, eventArgument){....}内容存在.。觉得很正确。又拖放了个<asp:TextBox/>控件,运行查看源代码发现并没有 __doPostBack(){}方法,心里就有点怀疑上面的说法。接着拖放了<asp:DropdownList/>,<asp:CheckBox/>,等等几个服务器控件,并没有发现 __doPostBack()。是不是事件没有加,于是在 <asp:TextBox/>加了TextChanged()事件,发现还是老样子。别的几个控件也对应的加上了对应的事件。可也是同样的结果。调试进去后发现,而且事件方法也并没有触发。又开始怀疑是不是上面的错了,最后想了想服务器控件想要回发,不是还要设置AutoPostBack ="true"嘛,于是将此属性添加上去,果然看到了 <asp:LinkButton/>同样的效果,接着我又把对应的事件方法又去掉,只留下 AutoPostBack ="true"。 __doPostBack()依然存在。原来autoposback="true"才是关键.那为什么 <asp:LinkButton/>为什么就不用设置Autopostpack属性,发现 <asp:LinkButton/> 根本就没有这个属性。(嘿嘿,为什么没有呢,·····有待调查)。回头想想 __doPostBack(){}方法和 Autopostpack属性两个从名字上就是相关联的嘛!

 
第二章 、  PostBack 的原理
__doPostBack 是一个纯粹并且是非常简单的 javascript 函数,大部分的页面 PostBack 都是由它触发的。注意,这里是 “ 大部分 ” ,因为只有两个 Web Server Control    会自己触发页面的 PostBack, 其它的所有控件都是通过 __doPostBack 函数触发页面的 PostBack ,那先来看一下这个函数的定义吧:
CODE1:
<input type="hidden" value="" />
<input type="hidden" value="" />
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
通过上面的代码可以看到, __doPostBack 带有两个参数, eventTarget 是标识将要引发页面 PostBack 的控件 ID , eventArgument 参数提供了在引发页面 PostBack 事件时所带的额外参数。当然这个函数被函数时,这两个参数的值将赋值给页面的两个隐含变量 __EVENTTARGET 和 __EVENTARGUMENT ,然后调用页面的 submit 方法提交页面表单。这就是为什么我们可以通过 Request.Form[“__EVENTTARGET”] 获取得到引发页面 PostBack 的控件 ID 的原因。
了解了 __doPostBack 函数后,我们可以很容易的利用它非常方便地自己触发自定义的 PostBack 事件。那上面也说了,大部分的控件都是调用
析: Request.Form[“__EVENTTARGET”]方法可以查看到触发该事件的控件编号(应该是name才对)(除了button和imagebutton这两种服务器控件,下面会有介绍)。
 
第三章 Button PostBack 做法
引了页面的 PostBack ,只有两个控件是例外, Button 和 ImageButton ,正是因为它们不是通过调用 __doPostBack 来回发事件,所以通过表单隐含变量 __EVENTTARGET 和 __EVENTARGUMENT 是无法获取得到引发 PostBack 的 Button 或 ImageButton 的 ID 和参数值的,可通过下面的方式实现
1 )在页面中加如 LinkButton ,页面就会在页面中加载 POSTBACK 所需的 JS
<input type="hidden" value="" />
<input type="hidden" value="" />
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
 
2 )利用 GetPostBackEventReference 给客户端生成 __doPostBack()
如:
比如前台页面
< asp:Button  id ="Button1"  runat ="server"  Text ="Button"></ asp:Button >
( 1 )
< a  href ="#"  onclick ="document.getElementById('Button1').click()"> 触发服务器端按钮事件 </ a >
( 2 )
利用 GetPostBackEventReference 给客户端生成 __doPostBack()
前台
< a  href ="#"  onclick ="<%=PostBack()%>"> 触发服务器端按钮事件 </ a >
后台
protected  string  PostBack()
        {
            
return  this .Page.GetPostBackEventReference( this .Button1,"haha");
        }
通过 __EVENTARGUMENT="haha" 可以判断是不是点了那个链接的 PostBack 把 Button1 的按钮事件这么写:
if (Request["__EVENTARGUMENT" ]=="haha")
            {
                Response.Write("
这个是链接的 PostBack");
            }
            
else
            {
                Response.Write("
这个不是链接的 PostBack");
            }

析: 上述主要告诉我们,<asp:button/>和<asp:imagebutton />是不能通过 Request.Form[“__EVENTTARGET”]方法获取到触发控件的编号的。作者告诉了一种验证的方法。但是觉得不太好,自己想了下,之前查过的 UseSubmitBehavior刚好验证这里。
总结上面的,再结合到MSDN其实我们可以得到,button服务器控件是特殊的,它除了通过浏览器来触发意外,还可以通过function __doPostBack(eventTarget, eventArgument){....}这个来实现。那怎么让这个js的方法出来呢,就是呼应了前面的 UseSubmitBehavior=“false”属性。
例2:
前台:
<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" UseSubmitBehavior="false"/>
后台:
protected void Button4_Click(object sender, EventArgs e)
        {
              response.write("ddd");
        }
 执行以上代码,查看源文件__doPostBack()方法存在,点击按钮输出ddd,事件方法也执行了。到此两种触发机制了解了。
Bug :
问题:『使用 __doPostBack 会导致』
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
问题分析及解决方案:『来源网络』
这个要具体分析。本来这个措施是 asp.net2.0 用来防止客户端 “ 欺诈 ” 服务器端的。例如本来输出到客户端的一个事件被触发时需要回发的命令是 “__doPostback('ctl01$abc','user_1')” 的,如果采取采取手段把回发参数由 user_1 改为 user_5 了,服务器端会重新核对输出的是不是 user_5 ,发现和这个页面上一个输出的脚本不一致,就会产生这个异常。
但是,很多程序员写的程序按照过去的习惯(或者按照更加高级灵活的设计例如一些 Ajax 组件)没有考虑这个问题或者是忽略这个欺诈的可能性,写的程序可能会修改参数或者修改目标控件。
因此这样具体问题具体分析。不太可能跟浏览器距离服务器的远近有关,应该还是编程逻辑问题。你应该对出异常的画面以及所使用的数据进行分析。有时候,经常也需要将这个参数设置为 false ,放弃安全管理
 
 
以上的内容是对button控件的UseSubmitBehavior属性的了解,其实在之前,还有一个问题也是纠缠不清。就是js中return false;的问题。我们结合到UseSubmitBehavior 看看。会有什么效果。
例3:
<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" UseSubmitBehavior="false" OnClientClick="alert('hello');"/>
后台:
protected void Button4_Click(object sender, EventArgs e)
        {
              response.write("ddd");
        }
与例2相比多了OnClientClick="alert('hello');;执行后查询源代码

<input type="button" name="Button4" value="Button" onclick="alert('hello');__doPostBack('Button4','')" id="Button4" />

发现__doPostback()js方法在,前面多了句alert('hello');
首先先弹出了hello,(客户端事件),然后输出了ddd(服务器段事件,只不过由客户端触发的).再看下面的例子,
例4:
<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" UseSubmitBehavior="false" OnClientClick="alert('hello');return false;"/>
后台:
protected void Button4_Click(object sender, EventArgs e)
        {
              response.write("ddd");
        }
      与例3相比alert('hello');return false;多了句return false;这也是我们讨论的关键。
执行,查看源代码

 <input type="button" name="Button4" value="Button" onclick="alert('hello');return false;__doPostBack('Button4','')" id="Button4" />
__doPostBack('Button4','')
依然在,前面多了句return false;在看看功能上发现弹出了hello,但是没有输出ddd.这就是我们想要的。
MobaXterm简介和使用(服务器连接工具) MobaXterm 是一个功能强大的远程计算工具,集成了许多常用的远程计算功能,包括 SSH、X11、RDP、VNC、FTP、SFTP 等。 阅读详情

相关推荐

TESSY创建单元测试或集成测试工程

我们以tessy5.1为例,给大家展示单元测试和集成测试工程的创建过程。

空气中的告白专栏 1683

ASP.Button的UseSubmitBehavior属性

因解决按钮的服务器频繁操作问题。注意到了button的UseSubmitBehavior属性。其实不是大问题,但一直没有理解让我感觉如鲠在喉,所以还是进行了详细探究。 基础点: ① UseSubmitBehavior属性用于控制button的提交形式,设为false时,使用ASP.NET页框架将客户端脚本添加到页面。设为true(该属性默认为true),使用客户端浏览器提交机制。 ②ASP.But...

qq_38707936的博客 1157

【Creo】关于Creo一换网络就报错许可证丢失问题解决方案

依照我的个人理解,Creo只要一更换网络,则其许可证里面的网卡参数和现在的网络就对不上了,所以就会出现报错,并且有可能是报错代码(-9),提示许可证激活有问题。

weixin_52002180的博客 6036

asp.net 防止二次提交 以及UseSubmitBehavior属性

这是一个非常普通的需求。 页面上有一个按钮,点击之后提交表单,如果什么都不管的话,用户可以在服务器响应完成之前再次点击,这样就出现了二次提交,后果可大可小。 那么我们应该防止二次点击,就要在用户点第一次之后马上Disable这个按钮。 具体: 按钮代码: asp:Button ID="Button1" runat="server" UseSubmitBehavior="false"

沉心静气 890

机械设计师必看:如何用Autodesk Inventor高效完成钣金设计(附实战案例)

本文为机械设计师详细解析了如何利用Autodesk Inventor Professional高效完成钣金设计。文章通过一个钣金防护罩的实战案例,系统介绍了从核心设计逻辑、建模流程、参数化技巧到工程图输出的完整工作流,旨在帮助设计师掌握智能化的设计方法,显著提升从概念到制造的设计效率与准确性。

honey的博客 1181

详解Nacos集群搭建

在我们日常的开发当中,用的都是单点Nacos,这种模式,我们自己开发测试玩一玩还可以,但是到了企业的生产环境之下,你还这么玩的话,那肯定是要出大问题了。因为在企业当中,我们更加强调的是高可用,所以在企业的生产环境下,Nacos一定要做成个集群。

博客 1万+

UseSubmitBehavior 属性

UseSubmitBehavior 属性规定按钮控件使用客户端浏览器内建的提交功能,还是使用 ASP.NET 的 postback 机制。 该属性被设置为 TRUE,如果控件使用浏览器的提交机制。否则为 FALSE。默认值是 TRUE。 当设置为 FALSE 时,ASP.NET 会添加一段客户端脚本来回传该表单。 当 UseSubmitBehavior 属性为 false 时,控件开发人...

abaqz04484的专栏 234

24. 在QML界面中嵌入QWidget窗口

目前QT官方主推的界面开发方式是采用QML进行界面设计,但在QML未流行之前,很多的项目都是采用QWidget开发的,把之前的代码全部转换为QML代码显然工作量非常大,如果能将QWidget窗口嵌入到QML界面中,那么开发效率将提高很多,且QML无法实现的功能也能借助于QWidget框架进行实现。

山间点烟雨 5921

防止二次提交 UseSubmitBehavior属性 asp.net

为什么80%的码农都做不了架构师?>>> ...

weixin_34408624的博客 284

手把手教你学PCIE--基本概念:PCIe 初始化流程概述

硬件上电复位:系统上电时,所有 PCIe 设备都会进行复位。链路训练(Link Training):主机和设备之间通过链路训练状态机(LTSSM)协商链路参数(如速度和宽度)。配置空间访问:主机通过配置空间读写来发现和配置设备。资源分配:主机为设备分配内存映射 I/O 区域(BARs)、中断向量等资源。驱动程序加载和高级配置:操作系统加载设备驱动程序,并进行更高级的配置和状态监控。硬件上电复位:确保所有设备处于已知的良好状态。链路训练:主机和设备通过 LTSSM 协商链路速度和宽度。

MHD0815的博客 1373

【2025年华为秋招(AI)-11月19日-第二题(200分)- 终端款型聚类识别】(题目+思路+Java&C++&Python解析+在线测试)

该摘要总结了题目要求、输入输出格式、KMeans算法的实现步骤以及关键点。以下是150字内的摘要: 本文提出基于KMeans算法对终端型号进行聚类的方法。通过包间隔时长、连接持续时长、漫游前后信号强度4个特征,使用欧氏距离度量相似度。算法采用固定初始化策略(前k个样本作为初始质心),经过分配-更新迭代,直至质心移动小于1e-8或达到最大迭代次数。最终输出各簇样本数并按升序排列,解决了终端型号自动分类问题。示例显示该方法能有效识别3-4类终端,并准确统计每类数量。

m0_73659489的博客 141

由UseSubmitBehavior 引发的“血案” (前章)

前章前段时间碰到button控件的一个属性问题UseSubmitBehavior。在MSDN上查看,UseSubmitBehavior 属性时,有这样一句话“获取或设置一个布尔值,该值指示 Button 控件使用客户端浏览器的提交机制还是 ASP.NET 回发机制。 ”" 默认情况下,此属性的值为 true ,从而导致 Button 控件使用浏览器的提交机制。如果指定为 false ,则 ASP.NET 页框架将客户端脚本添加到页面,以将窗体发送到服务器。" 这里讲到 客户端浏览器的提交机制 和

mao2kun1的专栏 4449

构建栅格地图matlab代码

1 使用MATLAB实现地图栅格化 效果图如下所示 图1 ...

qq_59747472的博客 4517

Button.UseSubmitBehavior 属性

Button.UseSubmitBehavior 属性   昨天在项目中遇到了很奇怪的问题,就是按钮获取焦点的问题,我一直不能按照我的代码来控制按钮的焦点,最后我采用了笨的办法来实现我的功能,也就有了上一篇博客中的文章。今天我查了一下,原来和是按钮的UseSubmitBehavior 属性,当我把这个属性设置为false以后,就可以控制我的焦点了,我们看一下MSDN对这个属性的描述:

gameWYD的专栏 1341

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ASP.NET Button控件的UseSubmitBehavior属性引发的血案

这里先不说标题上的UseSubmitBehavior属性是什么,先说下面这种情况。 通常,在我们写一个表单页面的时候,最下方会有“提交”和“返回”字样的两个按钮。顾名思义,它们的功能大家都知道,但是一般情况下我们会给表单的内容加上一些验证,这样就出现了一个问题。因为两个按钮是服务器控件(有runat=”Server”属性),所以点击按钮之后会先进行验证(无论这里你用的是前台的jQuer...

dnkdnhh203971的博客 334

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Button控件的UseSubmitBehavior属性

 使用 UseSubmitBehavior 属性来指定 Button 控件使用客户端浏览器的提交机制还是 ASP.NET 回发机制。默认情况下,此属性的值为 true,从而导致 Button 控件使用浏览器的提交机制。如果指定为 false,则 ASP.NET 页框架将客户端脚本添加到页面,以将窗体发送到服务器。 在页面form中,如果你完成一个输入按下回车,本意是转移到下一个输入框,但也有可能直

GELEI180的专栏 1073

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ASP.NET Button控件UseSubmitBehavior属性对回发的影响

对于Button控件的UseSubmitBehavior属性以前一直存在一些理解上的误区,特别是它和OnClientClick事件一起使用时。 下面就对Button控件的UseSubmitBehavior属性和OnClientClick事件的使用做一个详细的说明: 首先说一下UseSubmitBehavior属性的定义: UseSubmitBehavior为true时(默认),Button控

Qiyeye的专栏 2914

Button.UseSubmitBehavior 属性的使用

昨天在项目中遇到了很奇怪的问题,就是按钮获取焦点的问题,我一直不能按照我的代码来控制按钮的焦点,最后我采用了笨的办法来实现我的功能,也就有了上一篇博客中的文章。今天我查了一下,原来是按钮的UseSubmitBehavior 属性,当我把这个属性设置为false以后,就可以控制我的焦点了,我们看一下MSDN对这个属性的描述:使用 UseSubmitBehavior 属性来指定 Button 控件

简单的生活,开心就好 1906

Asp.Net Button的UseSubmitBehavior属性

在某页面上有如下信息,Html, function javascriptMethod() { alert(1); } C#, protected void ButtonClicked(object sender, EventArgs e) {

571

Button 控件的UseSubmitBehavior 属性

http://www.cnblogs.com/chencaixia/archive/2007/11/21/967702.html

扬 帆 起 航ing 237

由UseSubmitBehavior引发的问题

http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.button.usesubmitbehavior%28v=VS.80%29.aspx Button.UseSubmitBehavior 属性 .NET Framework 2.0 其他版本 .NET Framework 4.NET Framework 3.5.NET Frame

mao2kun1的专栏 1055

asp.net按钮的UseSubmitBehavior属性体验

因为我后台要处理大量工作,所以加了一个进度条,然后在我提交表单后,我需要将该按钮禁用,但是在后台提交后btn.Enable=false,根本处理不了前台Button的Enable,后来决定使用js控制,但是我在onclick事件中使用了,document.getElementById("btn").disable="true";后,提交不了到后台了,结果决定在事件后再加一句,document.fo

1185

为什么Button只执行javascript, 不执行后台代码 - UseSubmitBehavior

代码 : 后台代码 : 前台 UseSubmitBehavior="True" -UseSubmitBehavior="False" -但这有什么关系呢? ? ?- refer to :http://blog.yam.com/weilin98/article/23448455 (ASP.NET - Button.UseSubmitBehavior屬性)

548

UseSubmitBehavior (后章)

后章 以上的内容是对button控件的UseSubmitBehavior属性的了解,其实在之前,还有一个问题也是纠缠不清。就是js中return false;的问题。我们结合到UseSubmitBehavior 看看。会有什么效果。 例3: 后台: protected void Button4_Click(object sender, EventArgs e)         {

HelloLWei的专栏 661
上一篇: ASP.NET Treeview控件中对Checkbox的联级选择
下一篇: oracle 常用系统表
High_Mount
博客等级 码龄20年 49粉丝 41原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值