0

在我的下拉列表中,未触发 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;
    }
}
4

3 回答 3

1

下拉菜单本身不会导致事件触发。

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

于 2011-09-23T14:26:49.590 回答
1

必须启用 Viewstate 才能使此特定代码起作用,并且必须启用 Javascript 才能使 AutoPostBack 起作用。

于 2011-09-23T14:30:08.197 回答
0

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

于 2011-09-23T14:26:18.583 回答