给服务器端DropDownList控件添加客户端onchange事件
我们在许多是时候,要在DropDownList添加一个onchange事件,在.Cs文件中我们还有一个onSelectedIndexChanged事件,我们添加它的onchange事件,大部分就是为了在客户端先让用户确认一下,在回传服务器,提高用户体验性。
而如果我们在Html源代码中,自己给它加上onchange事件的话,有可能提示"服务器标记不正确"或你没有得到你所期望的值。For Example:
<asp:ListItem>boy</asp:ListItem>
<asp:ListItem>girl</asp:ListItem>
</asp:DropDownList>
其中调用的js代码是:
function selectChange(from,to)
{
alert("From:"+from.selectedIndex+" To: "+to);
}
</script>
我们如果执行上面的代码,会提示什么呢?你一定认为它提示的是 From:0 To:MyDropDownListSex,但是事与愿违,它提示的却是From:0 To:<%= MyDropDownListSex.ClientID %>。为什么会出现这个结果呢?查阅了一些资料也没有获得满意的结果,如果哪位有知道的还请指导。咱们还是接着往下说解决办法。
那如果我们真的想这么做的话,难道就没有办法解决了吗?不,我们可能经常给TextBox在后台添加属性,那么我们也可以在后台动态给DropDownList动态的加上onchange属性,那我们试试:在.Cs中OnPage_Load中加上:
F5运行,然后选择,那么结果就出来了 ,From:0 To:MyDropDownListSex,正如我们所希望的结果。
还有一种情况就是我们的DropDownList包含在一个数据列表控件中比如:repeater中,那么我们在onPage_Load事件中就没有MyDropDownList这个控件了,那我们怎么实现呢?其实很简单,如果我们能够找到这个MyDropDownList空间就行了,由于这个比较简单,在这就不详细说明了,就列出一些代码看看就行了。
List 1:
<ItemTemplate>
<%#Eval("name") %>
<asp:HiddenField ID="myyear" runat="server" Value='<%#Eval("year") %>' />
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
List 2:
dt.Columns.Add("name");
dt.Columns.Add("age");
dt.Columns.Add("year");
DataRow dr = dt.NewRow();
dr[0] = "兴百放";
dr[1] = "22";
dr[2] = "1986";
dt.Rows.Add(dr);
DataRow dr2 = dt.NewRow();
dr2[0] = "王明";
dr2[1] = "25";
dr2[2] = "1984";
dt.Rows.Add(dr2);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
List 3:
{
DropDownList dl = (DropDownList)e.Item.FindControl("DropDownList1");
HiddenField hf = (HiddenField)e.Item.FindControl("myyear");
dl.Attributes.Add("onchange", "JavaScript:selectChange(this,'"+hf.Value+"')");
}
转载于:https://www.cnblogs.com/xbf321/archive/2008/03/04/add-onchage-in-dropdownlist.html
给服务器端DropDownList控件添加客户端onchange事件相关推荐
- 在asp.net中为Web用户控件添加属性和事件
在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的 ...
- DropDownList 控件不能触发SelectedIndexChanged 事件的另一个原因
相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...
- DropDownList 控件不能触发SelectedIndexChanged 事件
相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...
- DropDownList控件不触发SelectedIndexChanged事件(转)
DropDownList控件不触发SelectedIndexChanged事件(转) 相信DropDownList 控件不能触发SelectedIndexChanged 原因以下几种: 1.DropD ...
- 金蝶EAS DEP脚本(5)给常用控件添加值改变事件
给常用控件添加事件 一.F7 给F7添加值改变事件 //F7控件增加值改变监听 pluginCtx.getKDBizPromptBox("prmtCompany").addData ...
- easyui日期控件datebox的onchange事件
<input type="text" id="date_" name="date_" class="easyui-dateb ...
- 为服务器端控件添加js.net
为服务器端控件添加js .net 2009-11-11 22:46:38 阅读7 评论0 字号:大中小 页面添加TextBox控件,不可能定义一个服务器端的losefocus事件,如果每次losefo ...
- 为ASP.NET控件添加常用的JavaScript操作
1.为button控件添加确认功能 要想为服务器控件添加客户端的事件,需要用到Attributes属性.Attributes属性是所有的服务器控件都有的一个属性,它用来为最终生成的HTML添加自定义的 ...
- 控件添加与不添加runat=server的作用及区别
1.runat="server"的作用? runat="server"是将ASPX中某个控件标识为服务器端的控件,使得服务端(CS)中可以直接访问它 2.run ...
- ASP.NET 控件添加与不添加runat=server的作用及区别
原文转载于:https://blog.csdn.net/being_towards_death/article/details/81117340?utm_source=blogxgwz0 1.runa ...
最新文章
- Xamarin图表开发基础教程(11)OxyPlot框架支持的图表类型
- c++函数重载机制实现原理
- Android实现简单的检测手机自由落体关闭屏幕
- Cobertura和Sonar 5.1的问题
- Ant Design Pro 2.0/umijs站点配置到非站点根目录下处理
- 如何进入指定文件目录_Python如何遍历操作指定文件目录下的全部Excel文件?
- 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形
- history模式 nginx配置_Vue history模式Nginx配置
- 自动化框架应该具备的要点
- Extjs中设置只读的样式问题
- qt自定义QtWidgets
- Labview完全卸载工具msiblast NI
- 最优化理论与方法(袁亚湘 孙文瑜)笔记(一)
- t分布f分布与样本均值抽样分布_T检验和其他假设检验的P值怎么理解
- essay 浅谈ACM盲区(下)
- 《西部世界》与《头号玩家》:哪个才是人类与人工智能相处的正确方式?
- flutter入门之实现展示机构树的功能
- POJ 3984-迷宫问题 (dfs)
- 一分钟搞懂 微调(fine-tuning)和prompt
- createjs基础入门
热门文章
- java 开源im_开源IM项目-InChat登录接口设计与实现(基于Netty)
- spring jpa查询视图
- [SHOI2008]堵塞的交通
- 给构造函数(constructor)创建对象(object)
- scala 高级十六 scala 集合和集合的高级特性 map flatten fllatmap zip reduce zip 等操作...
- namenode 无法启动之每次开机需要重新格式化-tmp
- LOJ2257 SNOI2017 遗失的答案 容斥、高维前缀和
- 安装运行jupyter notebook时报错:ModuleNotFoundError: No module named 'prompt_toolkit.formatted_text'...
- 开关灯问题 BulbSwitch
- CSS template