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:從零開始的軟體開發生活」
請大家繼續支持 ^_^