Я использовал DropDownList в Repeater. Он извлекает обозначение (администратор, менеджер, участник) из базы данных. Имя пользователя отображается правильно, даже предупреждение показывает правильные данные. но dropdownlist.selecteditem не действует. Оба пользователя показывают admin в раскрывающемся списке как выбранное значение по умолчанию, в db его менеджер.
protected void ListRepeaterView_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DropDownList selectList = e.Item.FindControl("DropDownList1") as DropDownList;
selectList.DataSource = ML.SelectAll();
selectList.DataTextField = "Designation";
selectList.DataValueField = "EmployeeID";
selectList.DataBind();
HiddenField Designation = (HiddenField)e.Item.FindControl("hdnDesignation");
selectList.SelectedValue = Designation.Value.ToString();
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert(" + Designation.Value.ToString() + ");", true);
}
CS-файл
<asp:Repeater ID="ListRepeaterView" runat="server" OnItemDataBound="ListRepeaterView_ItemDataBound">
<ItemTemplate><tr><td>
<asp:Label ID="EmpName" runat="server" Text='<%# Eval("EmployeeName") %>'></asp:Label>
asp:HiddenField ID="hdnProductID" Value='<%# Eval("EmployeeID") %>' runat="server" />
</td><td>
<asp:HiddenField ID="hdnDesignation" Value='<%# Eval("Designation") %>' runat="server" />
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" >
</asp:DropDownList>
</td></tr>
<br /><br /><br />
</ItemTemplate>
</asp:Repeater>