当前位置:  开发笔记 > 编程语言 > 正文

客户端确认后DropdownList autoposback

如何解决《客户端确认后DropdownListautoposback》经验,为你挑选了3个好方法。

我有一个下拉列表,其中autopostback设置为true.我希望用户确认他们是否真的想要更改该值,这在post post上会触发服务器端事件(selectedindexchanged).

我尝试添加一个onchange属性"return confirm('请单击OK更改.否则单击CANCEL?';")但无论确认结果如何都不会回发,如果取消选中,列表中的值不会恢复.

当我从DropdownList标记中删除onchange属性时,页面会进行回发.添加onchange属性时不会.我还需要连接事件处理程序(我在C#.Net 2.0上).

任何线索都会有所帮助.

谢谢!



1> Kyle Ballard..:

您是否尝试将onChange事件设置为javascript函数,然后在函数内部显示javascript警报并在其通过时使用__doPostback函数?

   
drpControl.Attributes("onChange") = "DisplayConfirmation();"

function DisplayConfirmation() {
  if (confirm('Are you sure you want to do this?')) {
    __doPostback('drpControl','');
  }
}



2> Craig..:

您可以通过调用执行confirm()的javascript函数来利用CustomValidator控件来"验证"下拉列表:

        
            
            
        
       
        



3> JCallico..:

当DropDownList触发部分回发时,以下工作原理:

// caching selected value at the time the control is clicked
MyDropDownList.Attributes.Add(
    "onclick",
    "this.currentvalue = this.value;");

// if the user chooses not to continue then restoring cached value and aborting by returning false
MyDropDownList.Attributes.Add(
    "onchange",
    "if (!confirm('Do you want to continue?')) {this.value = this.currentvalue; return false};");

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有