为服务器控件加入客户端事件处理的几种方法
服务器端的处理虽然方便,但因为每次都要PostBack,因而效率不高,很多时候需要为服务器端控件写入客户端事件处理。把各种方法总结一下:
1)在HTML代码的标签中直接写。如下
<asp:Button id="Button5" onmouseover='javascript:alert("hello")' style="Z-INDEX: 109; LEFT:
注意:
A、如果是HTML控件,这样写没有任何问题,写的事件处理将直接反映到输出的网页中
B、如果是web控件,一般不能直接写,因为这种事件处理都会被认为是服务器端的事件处理,在输出的网页中也不会看到。如果写的是客户端的事件的话,如onmouseover,会提示没有找到这个属性,但可以正常运行,并且这个事件的处理也会被传送到输出的网页中。
C、注意格式,根据情况选择形式
onmouseover='javascript:alert("hello")'
onmouseover="javascript:alert("hello")"
2)如果控件是动态生成的或者想在代码中加入上面的内容,可以这样
Button1.Attributes.Add ("onmouseover","javescript:alert(\"hello\")");
3)如果控件就没有Atrributes,还要加入客户端响应(虽然这种情况很离奇,但是却真有这种需求,比如为一个树控件的节点添加一个onclick客户端事件响应),还有一招从网上学来的奇招。
Button2.ID="ID2" + "\" onmouseover=\"javascript:alert("hello")";
为ID赋值,得到的结果是 ID="***",这样,可以自己去拼中间的内容,最后实际得到的是ID="***" onmouseclick="***"这样的效果。
1)在HTML代码的标签中直接写。如下
<asp:Button id="Button5" onmouseover='javascript:alert("hello")' style="Z-INDEX: 109; LEFT:
注意:
A、如果是HTML控件,这样写没有任何问题,写的事件处理将直接反映到输出的网页中
B、如果是web控件,一般不能直接写,因为这种事件处理都会被认为是服务器端的事件处理,在输出的网页中也不会看到。如果写的是客户端的事件的话,如onmouseover,会提示没有找到这个属性,但可以正常运行,并且这个事件的处理也会被传送到输出的网页中。
C、注意格式,根据情况选择形式
onmouseover='javascript:alert("hello")'
onmouseover="javascript:alert("hello")"
2)如果控件是动态生成的或者想在代码中加入上面的内容,可以这样
Button1.Attributes.Add ("onmouseover","javescript:alert(\"hello\")");
3)如果控件就没有Atrributes,还要加入客户端响应(虽然这种情况很离奇,但是却真有这种需求,比如为一个树控件的节点添加一个onclick客户端事件响应),还有一招从网上学来的奇招。
Button2.ID="ID2" + "\" onmouseover=\"javascript:alert("hello")";
为ID赋值,得到的结果是 ID="***",这样,可以自己去拼中间的内容,最后实际得到的是ID="***" onmouseclick="***"这样的效果。
标签:
C#代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」