كيفية الحصول على قيمة فارغة من قاعدة البيانات إلى مربع اختيار في GridView

StackOverflow https://stackoverflow.com/questions/720613

  •  23-08-2019
  •  | 
  •  

سؤال

لدي مربع اختيار في 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 قادم من قاعدة البيانات التي أريد الحصول عليها خلاصة فحص خطأ.

هل كانت مفيدة؟

المحلول

يمكنك التحقق من dbnull أولا:

If DBNull.Value.Equals(objStatus) Then
  Return False
Else
  Return objStatus
End If

نصائح أخرى

استخدم وظيفة TypeOf للتحقق مما إذا كان نوع الإدخال إذا كان المنطقي. إذا لم يكن مجرد إرجاع خطأ.

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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top