如何获取转换后的布尔值以在 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>
我有一个数据库标志 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>