SelectedIndexChanged没有开火

时间:2013-03-13 14:04:18

标签: asp.net-2.0 selectedindexchanged

我的问题是 ddlObra 控件的 SelectedIndexChanged 没有触发,但是当我删除 Page.ClientScript.RegisterOnSubmitStatement 时Page_Load ,一切正常。我无法理解这种行为。

以下是代码:

protected void Page_Load(object sender, EventArgs e)
{   
    if (!IsPostBack)
    {            
        CarregarDropDownLists();            
    }
    Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "OnSubmitScript", "return handleSubmit()");
}

protected void ddlObra_SelectedIndexChanged(object sender, EventArgs e)
{
    List<Entidades.Empreendimento.Unidade> unidades = Entidades.Empreendimento.Unidade.ListaUnidades(txtLogin.Text);
    ddlBloco.Items.Clear();
    ddlUnidade.Items.Clear();
    ddlBloco.Items.Insert(0, new ListItem("----- Bloco -----", ""));
    ddlUnidade.Items.Insert(0, new ListItem("----- Unidade -----", ""));
    //if (unidades.Count == 1) return;

    foreach (Entidades.Empreendimento.Unidade Un in unidades)
    {
        if (Un.ObraVinculo.idObraCrm.ToString() == ddlObra.SelectedValue)
        {
            if (!ddlBloco.Items.Contains(new ListItem(Un.BlocoCRM.Nome, Un.BlocoCRM.CodigoCRM)))
            {
                ddlBloco.Items.Add(new ListItem(Un.BlocoCRM.Nome, Un.BlocoCRM.CodigoCRM));
            }

            Bandeira = Un.Bandeira;
            Estado = Un.Estado;
        }
    }
    ddlBloco.SelectedIndex = 0;
    ddlUnidade.SelectedIndex = 0;

    LoadAreas();
}

此代码位于 .aspx 文件

<script type="text/javascript">
    function handleSubmit() {
        if (typeof (ValidatorOnSubmit) == 'function' && ValidatorOnSubmit() == false) {
            return false;
        } else {
            $("#btnEnviar").click(function () { return false }).fadeTo(200, 0.5);
            return true;
        }
    }
</script>

谢谢你们的帮助!

1 个答案:

答案 0 :(得分:0)

提交表单执行的客户端脚本必须返回true 为了允许表单提交。这使客户端脚本能够 阻止有条件地提交表格。