gpt4 book ai didi

c# - SelectedIndexChanged 事件未在 Datalist 的页脚内触发

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:01 24 4
gpt4 key购买 nike

我一直在网络和 Stackoverflow 上搜索这个答案,我尝试了一些但没有成功。我的问题:我在数据列表的页脚内有一个下拉列表。我页面的 AutoEventWireup 设置为 true。我的下拉列表的自动回发设置为 true。我将事件绑定(bind)到数据列表的项目创建上。下拉列表确实获得了回发,但没有调用在 SelectedIndexChanged 事件中设置的函数。

创建时:

protected void dlCartItemsMonetary_ItemCreated(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
DropDownList combo = (DropDownList)e.Item.FindControl("ddlDeliveryService");
if (combo != null)
{
combo.SelectedIndexChanged += new EventHandler(ddlDeliveryService_SelectedIndexChanged);
}
}
}

下拉列表:

<asp:DropDownList ID="ddlDeliveryService" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlDeliveryService_SelectedIndexChanged" EnableViewState="true">

它执行回发但不进入 ddlDeliveryService_SelectedIndexChanged 函数。

谁能给我一些解决方法的提示?

提前致谢

最佳答案

已解决!

我的问题和许多其他问题是我在每次回发时都设置了 DataSource 和 DataBinding DataList。一旦我添加了回发验证,事件就开始触发。代码如下:

    if (this.Page.IsPostBack == false)
{
dlCartItemsMonetary.DataSource = list;
dlCartItemsMonetary.DataBind();
}

如果您遇到事件未触发的相同问题,请检查您的代码是否存在相同问题!

感谢 jpartjh 的评论,它让我思考了页面的生命周期。

关于c# - SelectedIndexChanged 事件未在 Datalist 的页脚内触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21675474/

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