【问题标题】:asp.net Dropdownlist conditional postbackasp.net Dropdownlist 条件回发
【发布时间】:2012-01-02 03:08:48
【问题描述】:

我有一个下拉列表并有一个事件 selectedIndexChanged 回发,我希望能够在用户更改下拉列表中的值时向用户显示一条消息,根据来自消息的输入我将决定是否必须回发与否。

显示的消息是您确定吗?如果他选择是,我将继续回发,如果他说不,我将取消回发并将先前的值分配为选定的。

我已经搜索了很多但无法找到解决方案,我想是否有一个 javascipt 函数可以确定是否需要回发,这可以帮助我猜

谢谢

【问题讨论】:

    标签: javascript asp.net drop-down-menu postback


    【解决方案1】:
    // get a reference to the DropDownList
    var selectlistId = '<%= ddlYourList.ClientID %>',
        selectlist = document.getElementById(selectlistId);
    
    // attach to the onchange event
    selectlist.onchange = function() {
    
      // decide whether to execute the __doPostBack event, which submits the
      // form back to the server
      if(confirm("Are you sure you want to do this?")){
         __doPostBack(selectlistId, '');
      }
    };
    

    【讨论】:

      【解决方案2】:

      您可以很简单地停止可以取消下拉列表的回发。只需在页面加载事件中添加此javascript即可。

      protected void Page_Load(object sender, EventArgs e)
      {
          DropDownList1.Attributes.Add("OnChange", "if (!confirm('Change this?')){return};");
      }
      

      【讨论】:

        【解决方案3】:

        为了完成这项任务,您需要使用带有自定义客户端 Javascript 的 CustomValidator 来控制回发。

        您可以read this article on 4Guys 使用客户端验证器 JavaScript 示例讨论不同的验证器以获取想法。

        但核心解决方案是使用自定义验证器来控制仅在表单有效时回发。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多