GridViewのチェックボックスにデータベースからNULL値を取得する方法
質問
私は、GridViewのチェックボックスを持っています。
<asp:CheckBox ID="chkStatus"
runat="server"
Checked='<%#GetStatus(Eval("VaccinationCompletedStatus"))
%>'/>
次のように関数のGetStatusである
Public Function GetStatus(ByVal objStatus As Object) As Boolean
If objStatus = True Then
Return True
ElseIf objStatus = False Then
Return False
Else
Return False
End If
End Function
しかし、ステータスがデータベースから来ているSystem.DBNullがobject.Ifヌルにキャストすることはできないとして、その後1つのエラーが来ているデータベースからヌルとして来ている場合、私は、チェックボックスが偽の確認を取得したい。
解決
あなたが最初はDBNullをチェックすることができます:
If DBNull.Value.Equals(objStatus) Then
Return False
Else
Return objStatus
End If
他のヒント
ブール場合場合は、入力の種類を確認するためにTypeOf関数の機能を使用してください。そうでない場合は、単にfalseを返します。
If TypeOf objStatus Is Boolean Then
Your code here
Else
Return False
End If
<asp:TemplateField HeaderText="foo" >
<ItemTemplate>
<asp:CheckBox runat="server"
Checked='<%# Eval("foo").GetHashCode() == 1 %>'
Enabled="false"
Visible='<%# Eval("foo").GetType() == typeof(Boolean) %>' />
</ItemTemplate>
</asp:TemplateField>
所属していません StackOverflow