檢查值我有一個屬性設置用於評估和演示(布爾)
public bool AutoRenew
{
get;
set;
}
,並在頁面:
<input type="checkbox" checked='<%# Eval("AutoRenew") %>' />
但它始終是檢查,即使屬性的值是false
。
我嘗試了以下變化:
<input type="checkbox" checked='<%# Convert.ToBoolean(Eval("AutoRenew")) %>' />
<input type="checkbox" checked='<%# Convert.ToBoolean(Eval("AutoRenew")) == true %>' />
<input type="checkbox" checked='<%# (Boolean)Eval("AutoRenew") %>' />
但沒有任何工程,它一直被檢查。表情應該是什麼樣子?
編輯:這裏是頁面有問題的一部分:
...
<asp:ListView ID="MyListView" runat="server">
<LayoutTemplate>
<table class="ms-listviewtable" style="background-color: White;">
<tr class="ms-viewheadertr ms-vhltr">
<th class="ms-vh-icon" scope="col">
<input type="checkbox" />
</th>
<th class="ms-vh2">
<div class="ms-vh-div"><a>Training Item</a></div>
</th>
<th class="ms-vh2">
<div class="ms-vh-div"><a>Training Task Type</a></div>
</th>
<th class="ms-vh2">
<div class="ms-vh-div"><a>Due Date</a></div>
</th>
<th class="ms-vh2">
<div class="ms-vh-div"><a>Auto-Renew</a></div>
</th>
<th class="ms-vh2">
<div class="ms-vh-div"><a>Training Reason</a></div>
</th>
</tr>
<tr id="itemplaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class="ms-itmhover">
<td class="ms-vb-itmcbx ms-vb-firstCell">
<input type="checkbox" class="s4-itm-cbx" />
</td>
<td class="ms-vb-title">
<div class="ms-vb itx"><a><%# Eval("Title")%></a></div>
</td>
<td class="ms-vb2">
<asp:DropDownList ID="TaskTypeDropDownList" runat="server">
</asp:DropDownList>
</td>
<td class="ms-vb2"><%# Eval("DueDate")%></td>
<td class="ms-vb2" style="text-align: center;">
<input type="checkbox" checked='<%# Convert.ToBoolean(Eval("AutoRenew")) %>' />
</td>
<td class="ms-vb2"><%# Eval("TrainingReason")%></td>
</tr>
</ItemTemplate>
...
我花了一點要記住......「檢查「是那些不需要價值的屬性之一,但爲了使其符合標準,使用checked ='checked'。任何價值都會評估爲「真實」。 –
查看我的更新回答... –