2016年1月3日 星期日

ASPX中使用ASPX.VB的Function

前言
有時我們會在GridView Template中使用CheckBox物件,Bind資料的Code如下,
,可是如果IS_OK欄位的值為DBNULL OR 空字串時,要如何處理呢?

實作

1.是在RowDataBound事件中去Find出該CheckBox物件,然後讀取資料處理後,再Assign給CheckBox's checked值。
2.使用一個Protected Function來處理,如下:
ASPX:

<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# ProcBoolean(Eval("IS_OK")) %>' />
ASPX.VB:
protected function ProcBoolean(byval vValue as Object) as Boolean
  If (vValue Is DBNull.Value) = False Then
     '........ Your Logic....
 End If
     Return true 'or /false
end function
請注意哦! 那個Function的參數要用Object哦! 不然如果Bind進來的值是DBNull的話,會有錯誤哦!
另外,如果是ASP.NET 1.1的DataGrid中使用方式如下(回傳字串),
ASPX:
<asp:Label id="lblLevHR" runat="server" text='<%# ProcLevHour((Container.DataItem("LEVHR"))) %>' ></asp:Label>
ASPX.VB:
Protected Function ProcLevHour(ByVal vValue As Object) As String
    Dim result As String = String.Empty
    If (vValue Is DBNull.Value) = False Then
        '........ Your Logic....
    End If
    Return result
End Function

沒有留言:

張貼留言