在DropDownList中有这样的需求:当改变DropDownList的选项的时候,先跳出提示框,其中包含确定和取消,点击确定,则继续操作,点击取消,则什么都不做。
改变DropDownList的选项时,跳出对话框
点击确定执行操作,将DropDownList中的值添加到lable中
点击取消则不执行上面的操作
【基本步骤】---------------------------------------------------------------------------------------------------------------------
1. 在Page_Load中加上下面的代码
this. DropDownList.Attributes.Add("onchange","if(confirm('你真的要改变吗?'))
{"+this.GetPostBackEventReference(DropDownList)+";}");
注意: DDL中AutoPostBack = false,且上述代码一定不要放在if(!this.IsPostBack)中
2. 接下来你可以定义SelectedIndexChanged事件的代码
(。。。。。。。。。省略)
【说明&特别提示】-----------------------------------------------------------------------------------------------------------
重点就在GetPostBackEventReference这个方法.它的功能就是生成用于回发的客户端脚本,如果没有这句,那也就不会出现提示窗口了,并且页面也不会回发.因为你DropDownList这样的控件,__doPostBack()函数是不会在页面产生的.这就是问题所在.(LinkButton可以).
使用这个方法.在运行后你查看HTML代码,就会发现在HTML中自动生成了一段Javascript,函数为function __doPostBack{代码不详细列出},还会在Form内产生两个:
<inputtype="hidden" name="__EVENTTARGET" value="" />
<inputtype="hidden" name="__EVENTARGUMENT" value=""/>