下拉列表未在部分回发中填充

时间:2013-05-08 09:18:00

标签: c# webforms controls postback

我正在尝试在部分帖子上填充下拉列表,不知道为什么它不起作用。

这有效,

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                 populatemyDropDownList();
            }

这不起作用,

protected void Page_Load(object sender, EventArgs e)
            {
                if (IsPostBack)
                {
                     populatemyDropDownList();
                }

方案

* 我单击UpdatePanel_1中的button_1,然后触发部分回发(无页面刷新)并尝试填充UpdatePanel_2中的DropDownList *

当我调试时,我可以看到后面的代码方法是触发并通过这段代码但没有增益,我认为部分后期重置DropDownList ????

using (SqlDataSource sqlds = new SqlDataSource(ConnectionString(), SelectCommand()))
            {
                drop1.DataSource = sqlds;
                drop1.DataTextField = "UserName";
                drop1.DataBind();
            }

1 个答案:

答案 0 :(得分:1)

您可以使用

ScriptManager.GetCurrent(Page).IsInAsyncPostBack

检查您是否处于异步回发中。

但是,我不会在回发(或!IsPostBack)和IsInAsyncPostBack上依赖您的逻辑。相反,我会使用正确的事件。在这种情况下,您希望处理button_1点击事件以填充DropDownList中的UpdatePanel2

请注意,您应该UpdatePanel2的UpdateMode Conditional。然后,您可以在填写UpdatePanel2.Update()后手动拨打DropDownList