0

タイトルにあるように、ドロップダウン リストの 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" %>
4

2 に答える 2

0

コード ビハインドと .aspx コードは正常に見えます。私が疑うのは名前空間の問題です。

ページ ディレクティブを投稿できますか (このビットは aspx ページにあります<%@ Page Language="C#" .....)。具体的には、継承属性を見たいです。また、存在する .cs クラスの名前空間も必要protected void ddlProjects_SelectedIndexChanged(object sender, EventArgs e)です。

ヒットするかどうかを確認するために、ddlProjects_SelectedIndexChanged にブレーク ポイントを追加してみましたか?

于 2013-06-05T15:52:18.687 に答える