asp.net(C#)中给控件添加客户端js事件的方法
程序员文章站
2024-03-08 19:44:00
放在服务器端,也可以用ajax来实现,不刷页面。但我觉得有更直接更简单方法,用一个js事件是可以实现的。 但,dropdownlist不偈button等控件提供了一些像...
放在服务器端,也可以用ajax来实现,不刷页面。但我觉得有更直接更简单方法,用一个js事件是可以实现的。
但,dropdownlist不偈button等控件提供了一些像"onclientclick"前台事件,只有服务端事件。
想到,所有c#页面代码,最终都是生成html,js事件也是最终运在浏览器中,以html为基础的。服务端控件最终生成的html控件有什么js事件,我们应该就能在aspx中给它添加相应的事件。
dropdownlist 生成的htm是元素<select>是有onchange事件的,所以我们也是可以给dropdownlist添加onchange()事件,我们通常用的方法,在后台文件的page_load 事件中,给id为ddlexamtype的dropdownlist 添加onchange()事件:
ddlexamtype.attributes.add("onchange","selectechanged('"+this.ddlexamtype.clientid"')");
前台定义的js 函数:selectechanged()
<script language="javascript">
function selectchange(objid) {
var ddlexamtype = document.getelementbyid(objid);
if (bool) {
……
}
else {
……
}
}
</script>
总结: c#的服务端控件,生成html时对应控件有什么js事件,我们都能通过对控件 attributes.add()添加。
但,dropdownlist不偈button等控件提供了一些像"onclientclick"前台事件,只有服务端事件。
想到,所有c#页面代码,最终都是生成html,js事件也是最终运在浏览器中,以html为基础的。服务端控件最终生成的html控件有什么js事件,我们应该就能在aspx中给它添加相应的事件。
dropdownlist 生成的htm是元素<select>是有onchange事件的,所以我们也是可以给dropdownlist添加onchange()事件,我们通常用的方法,在后台文件的page_load 事件中,给id为ddlexamtype的dropdownlist 添加onchange()事件:
ddlexamtype.attributes.add("onchange","selectechanged('"+this.ddlexamtype.clientid"')");
前台定义的js 函数:selectechanged()
复制代码 代码如下:
<script language="javascript">
function selectchange(objid) {
var ddlexamtype = document.getelementbyid(objid);
if (bool) {
……
}
else {
……
}
}
</script>
总结: c#的服务端控件,生成html时对应控件有什么js事件,我们都能通过对控件 attributes.add()添加。
上一篇: Java 8中如何获取参数名称的方法示例
下一篇: 详解Java的堆内存与栈内存的存储机制