【问题标题】:ASPX PostBack UserControl Lost ValueASPX PostBack UserControl 丢失值
【发布时间】:2014-05-03 12:41:36
【问题描述】:

我有问题;我像这样在更新面板中创建动态用户控件; 问题是,当在 Page_Load 函数中创建 Usercontrols 时,我从 usercontrol 的 DropDownList 中选择值,然后单击位于同一 usercontrol 内的按钮。

当 Page Post 返回时,我选择的项目的下拉列表丢失了。 但是当再次从 Dropdownlist 中选择我的项目时,在我单击按钮和页面回发工作后,我选择的项目仍然在下拉列表中正确选择。

你知道为什么我的物品从第一次回传而不是第二次回传中消散吗?

后面的代码是;

protected void Page_Load(object sender, EventArgs e)
    {
        ShowAgePanel();
    }


private void ShowAgePanel()
    {
        pnlChildAge.Controls.Clear();

    if (ddlChild.SelectedIndex == 0) return;

    for (int i = 0; i < Int32.Parse(ddlChild.SelectedValue); i++)
    {
        age_usercontrol _control = (age_usercontrol)LoadControl("age_usercontrol.ascx");
        _control.SetInfo("Child " + (i + 1).ToString());
        pnlChildAge.Controls.Add(_control);
    }
}

【问题讨论】:

    标签: asp.net user-controls postback


    【解决方案1】:

    是的,我找到了解决方案!

    在创建新的用户控件时添加 ID(它必须是唯一的),就像这样;

    for (int i = 0; i

    age_usercontrol _control = (age_usercontrol)LoadControl("age_usercontrol.ascx");

    _control.ID = "AgeUserControl" + i.ToString();

    _control.SetInfo("子" + (i + 1).ToString()); pnlChildAge.Controls.Add(_control);

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2012-03-13
      相关资源
      最近更新 更多