asp.net中<input type=button>无法调用后台函数

例如:用<input id="bt1" type="button" runat="server" Onclick="btnLogin_Click"/>添加一个按钮(注:不是从工具箱拖进去的控件)
在default.aspx.cs中有个btnLogin_Click()方法,但是按钮bt1无法实现delete功能。

解决方案:把onclick改成OnServerClick。

onclick,onclientclick和onserverclick的区别

下面以 HTML的按钮( system.web.ui.htmlcontrols ) 和 ASP.NET服务端按钮 (

system.web.ui.webcontrols ) 为例: 
1. HTML控件,如IMG的输入按钮等 的 onclick ( 客户端 )和 onserverclick( 服务端 )事件, 
注意 runat="server"。。。 
<input type="button" id="btn" name="btn" value="button" runat="server" onserverclick="ServerSideEvent" onclick="SideScript" /> 
此处的onclick先于onserverclick执行。 
2.WEB控件,如<asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。 
<asp:Button ID="btn" text="button" runat="server" OnClick="SideScript" OnClientClick="ClientSideScript" /> 
此处的onclientclick先于onclick执行。 
onclientclick 事件来自2.0, 它用来取代下列代码。。。 
btn.Attributes.Add("onclick","SideScript"); 
总之,客户端点击事件先于服务器端点击事件执行。也就是说,先执行客户端的Javascript,然后 
到服务器端执行服务器的相关代码。

ASP.NET中Onclick和OnserverClick事件的区别 

对于服务器按钮控件(即<asp:Button>类型的按钮): 
服务器响应事件:OnClick 
客户端响应属性:OnClientClick

对于html按钮控件(即<input type="button" runat="server">) 
服务器响应事件:OnServerClick 
客户端响应事件:onclick 
asp:Button类型的是onclick 
<input type="button" runat="server" />类型的是onserverclick 
一个是.net的控件 ~一个是html控件转换成服务器端控件 
效果完全一样,应为input 本身具有onclick的客户端事件,微软只能使用onserverclick作为服务器端响应的名称

附:html控件、html服务器控件和web用户控件 
asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等。这里主要说说html控件、html服务器控件和web服务器控件的区别。 
1、html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过javascript和vbscript等程序语言来控制。<input type="button" id="btn" value="button"/> 
2、html服务器控件:其实就是html控件的基础上加上runat="server"所构成的控件.它们的注意区别是运行方式不同,html控件运行在客户端,而html服务器控件是运行在服务器端的。参考其他资料是这样说的: 当ASP.NET 网页执行时,会检查标注有无runat 属性,如果标注没有设定,那么Html标注就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果Html标注有设定runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将Html服务器控件的执行结果转换成Html标注,然后当成字符串流发送到客户端进行解释<input id="Button" type="button" value="button" runat="server" /> 
3、web服务器控件:也称asp.net服务器控件,是Web Form编程的基本元素,也是asp.net所特有的。它会按照client的情况产生一个或者多个html控件,而不是直接描述html元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和html服务器控件有什么区别呢?参照其他网页的资料看法如下: 
1)、Asp.net服务器控件提供更加统一的编程接口,如每个Asp.net服务器控件都有Text属性。 
2)、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。 
3)、Asp.net服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。 
4)、事件处理模型不同,Html标注和Html服务器控件的事件处理都是在客户端的页面上,而Asp.net服务器控件则是在服务器上,举例来说: 
<input id="Button4" type="button" value="button" runat="server"/>是Html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。 
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。 
<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。 
由此可见:Html标注和Html服务器控件的事件是由页面来触发的,而Asp.net服务器控件则是由页面把Form发回到服务器端,由服务器来处理。

时间: 2024-10-14 13:59:52

asp.net中<input type=button>无法调用后台函数的相关文章

ASP.NET控件&lt;ASP:Button /&gt; html控件&lt;input type=&quot;button&quot;&gt;区别联系

ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样的东西 服务器只认识input,我们可以直接写input 但是asp是要把自己自动翻译成input再交给服务器的.其实是一样的东西 写写我看到的区别:                asp控件,直接可以用c#编程                input加上 runat=“server” 也被c#编程了 说白

&lt;input type =&quot;button&quot;&gt;&lt;/input&gt;和&lt;button&gt;&lt;/button&gt;在mvc中的区别

今天整了一上午,在MVC3中的form表单中放一个<button></button>一触发button中的onclick事件尽管没submit但仍然会提交表单(提交地址是默认传过来的地址一般为/ControllerName/Index)而<input type="button"></input>则不会 无意中把<button>标签放到了<form>标签中,你会发现点击这个button变成了提交,相当于<inp

input[type=&#39;submit&#39;]input[type=&#39;button&#39;]button等按钮在低版本的IE下面,去掉黑色边框的问题

今天做一个tabs效果的时候,发现上面的button在低版本下会出现黑色的边框,很难看,于是我整理了下几个去掉黑色边框的办法: 1.在button的外层嵌套一个div,设置button的border:none; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <st

&lt;button&gt;和&lt;input type=&quot;button&quot;&gt;区别

1.定义和用法 定义和用法 <button> 标签定义一个按钮. 在 button 元素内部,您可以放置内容,比如文本或图像.这是该元素与使用 input 元素创建的按钮之间的不同之处. <button> <button> 中间可以放:图片.文本等比较丰富的内容.    唯一禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为, 请始终为按钮规定 type 属性.Internet Explorer 的默认类型是 "button"

&lt;button&gt;和&lt;input type=&quot;button&quot;&gt; 的区别

定义和用法 <button> 标签定义一个按钮. 在 button 元素内部,您可以放置内容,比如文本或图像.这是该元素与使用 input 元素创建的按钮之间的不同之处. <button> 控件 与 <input type="button"> 相比,提供了更为强大的功能和更丰富的内容.<button> 与 </button> 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容.例如,我们可以在

【转】解析&lt;button&gt;和&lt;input type=&quot;button&quot;&gt; 的区别

一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二者相比较, <button> 控件提供了更为强大的功能和更丰富的内容.<button> 与 </button> 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容.例如,我们可以在按钮中包括一个图像和相关的文本,用它们在按钮中创建一个吸引人

页面table的每行都有一个&lt;input type=&#39;button&#39; /&gt;,如何实现点击按钮在按钮下方弹出一个div,点击空白消失

\ <input id="test" type="button" />/*按钮*/ <div id="tanchu"></div> <script language="javascript"> $(document).ready(function(e) { $("#test").click(function(e) { $("#tanchu"

input type=button设置高度不管用

1 <input type="button" name="calRate" id="calRate" value="查询" /> 1 #calRate{ 2 width: 100%; 3 height: 45px; 4 } 这样写了之后不起作用,,,无语.对比之后,突然发现设置个背景,或者写个border:none;甚至随便写个属性... 1 #calRate{ 2 width: 100%; 3 height: 4

前台调用后台函数

调用 var b = $ajax("WebApplication1._Default.GetDataSet", ["23"]); js:/*方法全名,参数,类所在的程序集名称(当方法类所在的命名空间不是程序集名称时请传参数来)*/function $ajax(paramMethod, paramValue, paramAssemblyName) {    if (!paramMethod) { Dialog.alert("缺少全名称的方法参数",