0

我的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>
4

0 回答 0