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