タイトルにあるように、ドロップダウン リストの SelectedIndexChanged イベントがどのような状況でも発生しないという問題が発生しています。私は解決策を探し、さまざまなことを試すのに数時間を費やしました。いくつかの場所では、これは既知のバグであり、回避策が提供されていると示唆されていますが、この時点までどれもうまくいきませんでした.
問題のドロップダウンは次の場所に作成されます。
<tr>
<td>
Select Project
</td>
<td>
<asp:DropDownList ID="ddlProjects" runat="server"
OnSelectedIndexChanged="ddlProjects_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>
</td>
</tr>
これは私には十分に標準的なように見えるので、どこで問題が発生するかわかりません。
編集(申し訳ありませんが、これは初めてです):
コードビハインド:
protected void ddlProjects_SelectedIndexChanged(object sender, EventArgs e)
{
List<DashBoardImport> selectedProject = DBI.GetProject(Convert.ToInt32(ddlProjects.SelectedValue));
foreach (var proj in selectedProject)
{
txtProjectName.Text = proj.ProjectName;
this.ddlStatus.SelectedIndex = proj.Status.Equals("Current") ? 0 : 1;
var priority = proj.Priority.PriorityName;
if (priority.Equals("Low"))
{
ddlPriority.SelectedIndex = 0;
}
else if (priority.Equals("Medium"))
{
ddlPriority.SelectedIndex = 1;
}
else if (priority.Equals("High"))
{
ddlPriority.SelectedIndex = 2;
}
//txtRank.Text = proj.ProjectRank.ToString();
txtBusinessArea.Text = proj.BusinessArea.BusinessAreaName;
txtRequester.Text = proj.Requestor;
}
//selectedIndex.Value = ddlProjects.SelectedIndex.ToString();
}
とにかく、この機能に触れてもjavascriptはありません。いわば基本に戻そうとするためにそれを削除しました。onselectedindexchanged 関数の page_load と他のいくつかの場所にブレークポイントを配置しましたが、イベントは発生せず、選択されたインデックスは 0 から変更されません。
Edit2: これは、何人かが要求したコードです。
<%@ Page Title="Future Projects" Language="C#" MasterPageFile="~/Site.Master" EnableEventValidation="true"
AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ITDashBoard.Web.Default" %>