我的DropDownList
.
该列表工作正常,直到我选择列表中的最后一项并单击按钮进行回发。一旦回发发生,列表中的选定项目将更改为第一个项目。
列表中的所有其他项目都可以正常工作并保持选中状态。
该列表是在一个内部生成的if (!IsPostBack)
没有其他代码控制列表中的选定项目。
为了解决这个问题,我在列表末尾添加了一个空白列表项,它似乎解决了这个问题。
if (!IsPostBack)
{
List<RolesWithPermissions> lstPerms = Utility.loadRolesAndPermissions();
foreach (RolesWithPermissions perm in lstPerms)
{
drpUsers.Items.Add(new ListItem(perm.userRole, perm.userPermissions));
}
drpUsers.Items.Add("");
}
protected void dtnEditPerms_Click(object sender, EventArgs e)
{
string permissions = drpUsers.SelectedValue.ToString();
}
这些是背后代码中唯一与导致问题的drp down 列表交互的部分。
这是下拉列表代码。
<asp:DropDownList ID="drpUsers" runat="server">
</asp:DropDownList>