下拉列表事件无法执行

时间:2011-09-23 14:13:07

标签: c# asp.net drop-down-menu selectedindexchanged

在我的下拉列表中,SelectedIndexChanged事件未触发。我设置AutoPostBack =“True”但它仍然没有触发。将EnableViewState设置为True或False也没有区别。

这是我的代码:

<asp:DropDownList ID="ddlSheerName" runat="server" Width="250" AutoPostBack="True"
 OnSelectedIndexChanged="ddlSheerName_SelectedIndexChanged"></asp:DropDownList>

protected void Page_Load(object sender, EventArgs e)
{
    loggedInUserId = Convert.ToString(Session["LoggedInUserId"]);
    if (loggedInUserId == "")
    {
        Response.Redirect("Login.aspx");
    }
    if (Page.IsPostBack == false)
    {
        BindCompanyDropDown();

    }
}

protected void ddlSheerName_SelectedIndexChanged(object sender, EventArgs e)
{
    Bindcolumnname();
}

public void BindCompanyDropDown()
{
    try
    {
        objData = new DBFile();
        DataSet dsCompanies = objData.GetCompaniesList(loggedInUserId);
        if (dsCompanies != null)
        {
            if (dsCompanies.Tables[0].Rows.Count > 0)
            {
                ddlselectcompany.DataSource = dsCompanies;
                ddlselectcompany.DataTextField = "CompanyName";
                ddlselectcompany.DataValueField = "CompanyID";
                ddlselectcompany.DataBind();
            }
        }
    }
    catch (Exception ex)
    {
        lblMsg.Text = ex.Message;
    }
}

3 个答案:

答案 0 :(得分:1)

下拉列表本身不会导致事件触发。

您必须实际更改要触发事件的所选项目。

答案 1 :(得分:1)

必须启用Viewstate才能使此特定代码生效,并且必须启用Javascript才能使AutoPostBack正常运行。

答案 2 :(得分:0)

您的活动是否已在设计师处注册? 选择下拉列表并检查分配给它的事件。