2015-08-19 58 views
0

我想隱藏基於值的面板,使用服務器端代碼。隱藏現有面板服務器端

  • 的形式從一個對象饋送數據源
  • 面板所在的形式
  • DataSource對象觸發CustomerDataSource_Selected子

Web form Code

服務器端代碼並​​執行

內部
Public Sub CustomerDataSource_Selected(ByVal source As Object, ByVal e As ObjectDataSourceStatusEventArgs) 
    Dim DisplayPanel As Boolean 
    DisplayPanel = False 
    If e.ReturnValue IsNot Nothing Then 
     If e.ReturnValue(0).x1 < e.ReturnValue(0).x2 Then 
      DisplayPanel = True 
     End If 
    End If 

    Dim FPanel As Panel = CType(FormView.FindControl("FuturePanel"), Panel) 
    FPanel.Visible = DisplayPanel 'here is the problem... 
End Sub 

我得到下面的異常,因爲子「CustomerDataSource_Selected」由ObjectDataSource控件,它在上面的代碼中沒有訪問形式的控制集合調用:不設置到對象的實例

對象引用。

如何隱藏面板使用當前的子,它需要訪問控制集合?

請記住,該子是從ObjectDataSource?

這可能嗎?

回答

1

貌似

Dim FPanel As Panel = CType(FormView.FindControl("FuturePanel"), Panel) 

沒有得到控制。 (FPanel == NULL)

嘗試......

Dim FPanel As Panel = CType(FormView1.Row.Cells[0].FindControl("FuturePanel"), Panel)