asp.net Dropdownlist有条件的回发

时间:2012-01-02 03:08:48

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

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

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

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

由于

3 个答案:

答案 0 :(得分: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, '');
  }
};

答案 1 :(得分:1)

你可以停止可以非常简单地取消下拉列表的回发。只需在页面加载事件上添加此javascript。

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

答案 2 :(得分:0)

为了完成此任务,您需要使用CustomValidator和自定义客户端Javascript来控制回发。

您可以read this article on 4Guys与客户端验证器JavaScript示例讨论不同的验证器,以获得一个想法。

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