0
我有一個枚舉和一個用戶控件,無論是在相同的組件(一個普通的.NET 4網站)。枚舉在VB.NET
在常量類:
public Enum CrudOperations
Add
Edit
Delete
這通過在用戶控件
Public Property Mode() As CrudOperations
Get
Return [Enum].Parse(GetType(CrudOperations), If(ViewState.Item("Mode"), "0"), True)
End Get
Set(ByVal value As CrudOperations)
ViewState.Item("Mode") = value
grdItems.Columns(3).Visible = ((value Or CrudOperations.Add) = CrudOperations.Add)
grdItems.Columns(4).Visible = ((value Or CrudOperations.Edit) = CrudOperations.Edit)
End Set
End Property
在C#中的屬性控制在一個用戶控件一個GridView列,我指定的列以標記顯示爲Mode="Edit,Delete"
,但在VB.NET中,這沒有任何作用。我能得到什麼可以炫耀的唯一方法是使用代碼隱藏,但如果包含頁面上我用userGrid.Mode = CrudOperations.Edit And CrudOperations.Delete
,我得到的所有列(還有一個刪除列),但userGrid.Mode = CrudOperations.Edit Or CrudOperations.Delete
說明不了什麼。
有沒有辦法做C#的等價物?
可選地(在VB.NET反正),可以只分配在和Base2的值:添加= 1,編輯= 2,刪除= 4,然後使用邏輯AND和邏輯或,或者添加:userGrid.Mode = Edit + Delete。 – HardCode
Thatnks。我想這是續行字符。要檢查標誌設置,然後需要使用'((值與CrudOperations.Edit)= CrudOperations.Edit)' – Echilon