ASPX中使用ASPX.VB的Function

  • 7090
  • 0

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

參考資料

What's the deal with Databinder.Eval and Container.DataItem?

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^