C#访问位于用户控件内的DropDownList项值
我有一个名为dropdownlist.ascx的通用控件,它基于XML文档和我传递给该控件的属性填充它的ListItems 此控件在同一aspx页上使用多次。我在aspx页面的Page_Load事件中将此控件强制转换为DropDownList控件没有问题,但是,当我想在aspx页面的Page_Load事件中设置此控件的SelectedValue时,它不作为项工作。计数值为0 我想这里有一些页面生命周期的问题 页上的控件。aspxC#访问位于用户控件内的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
<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冲突。