C#访问位于用户控件中的DropDownList项值

时间:2011-08-13 01:38:58

标签: c# asp.net user-controls

我有一个名为dropdownlist.ascx的通用控件,它根据XML文档和我传递给此控件的属性填充它的ListItems。

此控件在同一个aspx页面上多次使用。我在aspx页面的Page_Load事件中将此控件转换为DropDownList控件没有问题,但是当我想在aspx页面的Page_Load事件上设置此控件的SelectedValues时,它不能用作Items.Count值是0。

我认为这里有一些Page Lifecyle问题。

控制页面.aspx

<triangle:DDLResponse ID="ddlHeight" runat="server" CssClass="dropdownlist ddlregister" responseId="height" mode="dropdownlist" />

pagebehind on page.aspx

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        UserProfile profile = controls_session.profile;

        DropDownList _ddlHeight = (DropDownList)ddlHeight.FindControl("dropdownlist");

        _ddlHeight.SelectedValue = profile.Height;          

    }
}

ddlHeight的列表项没有问题。

任何人对此都有任何想法或解决方案吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

尝试在SelectedValue事件中设置Page_PreRender。它会起作用。