如果下拉到登录用户,更改值?

时间:2012-09-20 15:13:38

标签: asp.net user-controls asp.net-membership

我在用户控件的下拉列表中有测试列表。我试图将选定的技术更改为登录用户,但它给我'对象引用未设置为对象的实例。'

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

1 个答案:

答案 0 :(得分:0)

您可能没有使用给定文本下拉项目,例如您的案例中的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;