SelectedIndexChanged事件在任何情况下都不会触发
本文关键字:事件 在任何情况下 SelectedIndexChanged | 更新日期: 2023-09-27 18:17:09
正如标题所说,我遇到了一个问题,即下拉列表的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" %>
将AutoEventWireup="true"
添加到您的页面中,如下所示
<%@ Page Language="C#" AutoEventWireup="true" .................. %>
编辑:然后添加您自己的事件处理程序
ddlPojects.SelectedIndexChanged += new EventHandler(ddlPojects_SelectedIndexChanged);
您的代码和.aspx代码看起来很好。我怀疑是名称空间问题。
你可以张贴你的页面指令(这位在你的aspx页面<%@ Page Language="C#" .....
)。我特别想看看inherits属性。我还需要protected void ddlProjects_SelectedIndexChanged(object sender, EventArgs e)
所在的。cs类的命名空间。
您是否还尝试在ddlProjects_SelectedIndexChanged中添加断点以查看它是否被击中?