我正在使用VS2012和SQL Server 2008R2中的此表單。該表獲得真或假的位值。在Gridview itemtemplate中,我不想顯示空的複選框,而是想說「True or False」。我怎樣才能做到這一點?這是我迄今所做的:Asp.Net - 根據布爾值複選框在UI上寫入True/False
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# (Eval("Banned").ToString())%>' />
asp.net
我正在使用VS2012和SQL Server 2008R2中的此表單。該表獲得真或假的位值。在Gridview itemtemplate中,我不想顯示空的複選框,而是想說「True or False」。我怎樣才能做到這一點?這是我迄今所做的:Asp.Net - 根據布爾值複選框在UI上寫入True/False
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# (Eval("Banned").ToString())%>' />
您需要設置CheckBox
控制的Text
財產,像這樣:
<asp:CheckBox ID="CheckBox1" runat="server"
Checked='<%# DisplayTruth(Eval("Banned").ToString()) %>'
Text='<%# DisplayTruthValue(Eval("Banned").ToString()) %>' />
現在在你的後臺代碼,創建兩個方法,像這樣:
protected bool DisplayTruth(string banned)
{
if(banned == "0")
{
return true;
}
return false;
}
protected string DisplayTruthValue(string banned)
{
if(banned == "0")
{
return "True";
}
return "False";
}
我推薦這種方法,原因如下:
我發現此信息並且它正在工作。此外,我將asp:checkbox改爲asp:label。不過,我想顯示「否」而不是「False」,所以我將「False」更改爲「No」,但我的應用仍然顯示「False」。
<asp:Label ID="CheckBox1" runat="server" Text='<%# IIf(Convert.ToString(Eval("Banned")) = "", "No", Eval("Banned"))%>' />
謝謝卡爾,你回答了我的問題。我改變了這個VB,它工作正常。正如你所提到的,我可以使用我想要顯示的文本。 – Nita
@尼塔 - 很高興它幫助,我猜你想要C#。隨意編輯答案以包含VB.NET版本,或者我可以做到這一點,如果你想。 –
@Nita - 如果你覺得這個答案對你有幫助,那麼請接受答案和/或對答案進行投票。 :-) –