正如標題所示,我遇到下拉列表的SelectedIndexChanged事件在任何情況下都不會觸發的問題。我花了幾個小時尋找解決方案並嘗試不同的事情。有些地方表明這是一個已知的錯誤,並提供瞭解決方法,但直到這一點之前,它們都沒有爲我工作。SelectedIndexChanged事件在任何情況下都不會觸發
的下降在向下的問題在這裏建:
<tr>
<td>
Select Project
</td>
<td>
<asp:DropDownList ID="ddlProjects" runat="server"
OnSelectedIndexChanged="ddlProjects_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>
</td>
</tr>
這似乎不夠標準給我,讓我不知道它可能會錯誤。
EDIT(對不起,我是新來這個):
代碼背後:
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的,即使在觸摸反正這個功能。我已經刪除它,試圖回到基本的東西可以說。我已經在on_lectedindexchanged函數和其他幾個地方的page_load中放置了斷點,並且事件永遠不會被觸發,並且所選索引永遠不會從0更改。
編輯2: 以下是幾個人請求的代碼。
<%@ Page Title="Future Projects" Language="C#" MasterPageFile="~/Site.Master" EnableEventValidation="true"
AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ITDashBoard.Web.Default" %>
客戶端代碼看起來不錯 - 我們可以看到後面的代碼和這個.aspx頁面的頁面指令(以排除命名空間問題/繼承錯誤) – DaveHogan
您能提供更多信息嗎? ddlProjects_SelectedIndexChanged方法!使用Chrome/Firebug查找javascript erros並讓我們知道! – Fals
還請顯示您的相應代碼隱藏。也許數據源有問題。 –