我有一个数据库标志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>
答案 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>