【发布时间】:2011-09-23 14:13:07
【问题描述】:
在我的下拉列表中,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;
}
}
【问题讨论】:
-
确保在您的浏览器上启用了 javascript。如果有任何 javascript 错误,另请参阅浏览器控制台。
-
嗨 stefanE....我没有使用 JavaScript。我看到浏览器控制台也是,但仍然没有触发...
-
@R1 您可能不知道这一点,但自动回发在后台使用 javascript,因此在浏览器上启用它很重要
-
是的,我检查了 Javascript 是否已启用...
-
好的,我刚刚测试了您的代码,当您更改 selectedIndexChanged 事件成功触发的下拉值时,它似乎工作正常。我会更乐意在这里发布我的测试代码供您查看,但它看起来与您的完全不同。
标签: c# asp.net drop-down-menu selectedindexchanged