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

时间:2015-01-14 20:09:58

标签: c# 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>

1 个答案:

答案 0 :(得分:0)

您可以使用DropDownList的SelectedValue

注意 :确保条件运算符是ListItems的值。在您的代码中,它们是“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>