Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#访问位于用户控件内的DropDownList项值_C#_Asp.net_User Controls - Fatal编程技术网

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

C#访问位于用户控件内的DropDownList项值,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个名为dropdownlist.ascx的通用控件,它基于XML文档和我传递给该控件的属性填充它的ListItems 此控件在同一aspx页上使用多次。我在aspx页面的Page_Load事件中将此控件强制转换为DropDownList控件没有问题,但是,当我想在aspx页面的Page_Load事件中设置此控件的SelectedValue时,它不作为项工作。计数值为0 我想这里有一些页面生命周期的问题 页上的控件。aspx <triangle:DDLResponse ID="ddlH

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

此控件在同一aspx页上使用多次。我在aspx页面的Page_Load事件中将此控件强制转换为DropDownList控件没有问题,但是,当我想在aspx页面的Page_Load事件中设置此控件的SelectedValue时,它不作为项工作。计数值为0

我想这里有一些页面生命周期的问题

页上的控件。aspx

<triangle:DDLResponse ID="ddlHeight" runat="server" CssClass="dropdownlist ddlregister" responseId="height" mode="dropdownlist" />
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的列表项不会出现问题

有人对此有什么想法或解决办法吗


谢谢,

请尝试在
Page\u PreRender
事件中设置
SelectedValue
。它会起作用。

我实际上刚刚实现了这一点,但通过将我的usercontrol的Page_Load事件设置为Page_Init,使其在ASPX页面之前呈现。DropDownList很可能还没有在PageLoad中进行数据绑定(.DataBind()),因此在PreRender中进行此操作确实可行。我觉得这没问题。我唯一能想到的是,您的ascx文件名为dropdownlist,它可能与System.Web.UI.WebControls.dropdownlist冲突。