当前位置:  开发笔记 > 编程语言 > 正文

在Repeater控件中DropDownList,无法触发SelectedIndexChanged

如何解决《在Repeater控件中DropDownList,无法触发SelectedIndexChanged》经验,为你挑选了2个好方法。

我有一个转发器控件,在页脚中我有一个DropDownList.在我的代码隐藏中,我有:

protected void ddMyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item
            || e.Item.ItemType == ListItemType.AlternatingItem)
    {
       // Item binding code
    }

    else if (e.Item.ItemType == ListItemType.Footer)
    {
        DropDownList ddl = e.Item.FindDropDownList("ddMyDropDownList");
        // Fill the list control
        ddl.SelectedIndexChanged += new  
           EventHandler(ddMyDropDownList_SelectedIndexChanged);
        ddl.AutoPostBack = true;
    }
 }

页面显示为PostBack但是我的EventHandler没有被调用.有任何想法吗?



1> KyleLanser..:

如果你只想激活OnSelectedIndexChanged,它应该是这样的:

Page.aspx - 来源


    
        Option1
        Option2
    

Page.aspx.cs - 代码隐藏

protected void ddlOptions_SelectedIndexChanged(object sender, EventArgs e)
    {
        //Event Code here.
    }

就是这样.不需要更多.



2> KevinUK..:

如果DropDownList在Repeater中,然后激活SelectIndexChanged事件,则需要在GridView/Repeater上禁用EnableViewState.

例如

EnableViewState="false"

您还需要在每个回发上对GridView/Repeater进行数据绑定,以便在Page Load方法中对其进行数据绑定.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有