问题描述:
对页面DataGrid中的CheckBox列进行绑定,但是数据库中对应的字段值却为:Y或者N。那怎么绑定呢?国内一般的做法是:<%#Function(Eval("zzz"))%>,然后后台再写一个函数Function,进行一下转换,问题是能够搞定,但是还是不太完美,那有没有办法在HTML端进行转换呢?既然国内的资料找不到,那么就去ASP.NET老家那看看吧,于是在雅虎美国网站搜找到一遍资料:部分内容如下:
Code
Indeed, the NULL value here is troublesome for a boolean field. However, you can try this:
C#:
Checked='<%#(Eval("ReNewAd").Equals(true) ? true : false) %>'
VB.NET:
Checked='<%# IIF(CONVERT.ToString(Eval("ReNewAd"))="True",True, False) %>'
Or use a helper function:
C#:
protected bool checkNull(object m)
{
if (Convert.IsDBNull(m))
{
return false;
}
else
return true;
} VB.NET:
Protected Function checkNull(ByVal m As Object) As Boolean
If Convert.IsDBNull(m) Then
Return False
Else
Return True
End If
End Function
Limno
OK,既然这位高手这么告诉,那么试试吧。于是写Checked='<%#Eval("sfgzr").Equals("Y")?true:false %>'
运行!OK!没有问题。感觉以后若是遇到技术难题,还是老美的网站资料多。看来学习英语多么重要。