如何获取转换后的布尔值以在 asp.net gridview 的可编辑下拉列表中显示为选定值?

How to get converted boolean value to show as selected value in the editable drop down list in asp.net gridview?

我有一个数据库标志 ActiveFlag,在 gridview 行中显示为 Yes/No。在编辑时,会显示一个显示选项的下拉列表,但它始终显示是,即使当前值为否。我确定问题是我必须显示所选项目的代码不起作用,但我我不确定如何修复它。

<asp:TemplateField HeaderText="Active" SortExpression="ActiveFlag"
    ItemStyle-HorizontalAlign="Center">
    <ItemTemplate>
        <%# (Boolean.Parse(Eval("ActiveFlag").ToString()))? "Yes" : "No" %>
    </ItemTemplate>
    <EditItemTemplate>
        <asp:DropDownList ID="ddlActive" runat="server" 
           Selected='<%# (Boolean.Parse(Eval("ActiveFlag").ToString()))? "Yes" : "No" %>' >
            <asp:ListItem Text="Yes" Value="1" />
            <asp:ListItem Text="No" Value="0" />
        </asp:DropDownList>
    </EditItemTemplate>
</asp:TemplateField>

您可以使用下拉列表 SelectedValue

注意:确保条件运算符是列表项的值。在您的代码中,它们是“1”和“0”。

<asp:DropDownList ID="ddlActive" runat="server"
    SelectedValue='<%# Convert.ToBoolean(Eval("ActiveFlag"))? "1" : "0" %>'>
    <asp:ListItem Text="Yes" Value="1" />
    <asp:ListItem Text="No" Value="0" />
</asp:DropDownList>