某些值在資料庫存儲為BIT,在asp.net顯示時,它會顯示為True或False。但實際情況之下,我們需要它顯示通俗語言表達。如某種狀态為開或關等。
在asp.net顯示,可以有好幾種去顯示,
第一種,你可以使用CheckBox來表示狀态,True将顯示選中的效果,反之,是非選中的效果。而使用CheckBox也有兩種情形,一種是CheckBox擺放在非Data控件模闆中,直接放在網頁中
<asp:CheckBox ID="CheckBox1" runat="server" />
cs:
this.CheckBox1.Checked = (bool)dataRow["Status"];
另外一種就是擺放在Data控件中,如Gridview,DataList,Repeater等。狀态 :
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("Status")%>' />
第二種,是使用Label來顯示:
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# MyStatus(Eval("Status"))%>'></asp:Label>
</ItemTemplate>
protected string MyStatus(object obj)
{
if (obj == null) return string.Empty;
if (bool.Parse(obj.ToString()))
return "開";
else
return "關";
}
第三種,就是你不想寫cs,直接在.aspx頁面去作判斷:
<%# (bool)Eval("Status") ? "開":"關" %>
第四種,就是Insus.NET使用的方法,直接在資料庫處理好了。用CASE函數或RIGHT JOIN 均可。具體參考:
在.aspx顯示,如下寫法,顯示結果為“開”或“關”:
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Status")%>'></asp:Label>