Asp.net 是否将下拉列表中的值更改为登录用户?

Asp.net 是否将下拉列表中的值更改为登录用户?,asp.net,user-controls,asp.net-membership,Asp.net,User Controls,Asp.net Membership,我在用户控件的下拉列表中有测试列表。我正试图将所选技术更改为loggedin user,但它给了我“对象引用未设置为对象实例” protected void Page_Load(object sender, EventArgs e) { string username = Membership.GetUser().UserName; ddl_techsList.SelectedItem.Text = username; } 您可能没有在下拉列表中包含给定文本的项目,例如

我在用户控件的下拉列表中有测试列表。我正试图将所选技术更改为loggedin user,但它给了我“对象引用未设置为对象实例”

protected void Page_Load(object sender, EventArgs e)
{
    string username = Membership.GetUser().UserName;
    ddl_techsList.SelectedItem.Text = username;    
}

您可能没有在下拉列表中包含给定文本的项目,例如您的案例中的用户名。因此,首先检查您是否拥有该元素,然后如果您找到它,则应将其选中

ddl_techsList.ClearSelection();
ListItem li = ddl_techsList.Items.FindByText( defaultText));

if(li != null)
    li.Selected = true;
更新

如果下拉列表位于其他用户控件中

DropDownList ddl_techsList = (DropDownList)YourUserControlInstanceID.FindControl("ddl_techsList");
ddl_techsList.ClearSelection();
ListItem li = ddl_techsList.Items.FindByText( defaultText));

if(li != null)
    li.Selected = true;

问题是ddl\u技术列表在用户\u控件内