gpt4 book ai didi

代码隐藏与 ASPX 页面中的 ASP.NET 下拉列表

转载 作者:行者123 更新时间:2023-12-04 22:37:58 25 4
gpt4 key购买 nike

我在代码隐藏中生成一个下拉列表,并且无法让 selectedindexchanged 事件自动触发。直接放入 ASPX 页面时它工作正常,但我需要它在代码隐藏中。

这不起作用:

var deptList = new DropDownList
{
ID = "deptList",
DataSource = departments,
DataTextField = "deptname",
DataValueField = "deptid",
AutoPostBack = true,
EnableViewState = true
};

deptList.SelectedIndexChanged += new EventHandler(deptList_SelectedIndexChanged);
deptList.DataSource = departments;
deptList.DataTextField = "deptname";
deptList.DataValueField = "deptid";

if (!IsPostBack)
deptList.DataBind();

deptList.Items.Insert(0, new ListItem("---Select Department---", string.Empty));

writer.Write("Select a department: ");
deptList.RenderControl(writer);

但这有效:
<asp:DropDownList ID="deptList" AutoPostBack="true" runat="server" OnSelectedIndexChanged="deptList_SelectedIndexChanged"></asp:DropDownList>

最佳答案

问题可能在于您没有足够早地将控件添加到页面。需要在页面生命周期的早期添加控件以使其事件相关联。

您可能在 Load 事件中执行此操作,但为时已晚。尝试在 Init 事件期间添加它或覆盖 CreateChildControls 方法。

编辑:正如 Dave Swersky 提到的,确保在每个页面请求(包括回发)上都执行此操作。

关于代码隐藏与 ASPX 页面中的 ASP.NET 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2281800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com