단일 플래그 열거에 여러 값이 바인딩 된 CheckBoxList
-
10-07-2019 - |
문제
나는 formview (ObjectDatasource에 바인딩)가 있습니다.이 checkboxlist가 포함되어있는 flagsattribute와 함께 열거 인 기본 객체의 단일 특성에 바인딩하려는 checkboxlist가 포함되어 있습니다. 선택된 값 속성에 바인딩하면 항상 목록에서 첫 번째로 선택된 값이 속성 값으로 제공됩니다. 삽입 또는 업데이트 메소드를 무시하고 수동으로 확인란 목록의 값을 가져 와서 데이터 소스의 매개 변수로 채우지 않고이 문제를 해결하는 방법을 알고 있습니까? 내가하려는 일의 아래 샘플 코드 ...
<asp:FormView runat="server" ID="MyFormView" DataSourceID="MyDataSource">
<InsertItemTempate>
<asp:CheckBoxList runat="server" ID="MyCbl" SelectedValue='<%# Bind("MyProperty") %>'>
<asp:ListItem Text="Choice 1" Value="ChoiceOne"></asp:ListItem>
<asp:ListItem Text="Choice 2" Value="ChoiceTwo"></asp:ListItem>
</asp:CheckBoxList>
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource runat="server" ID="MyDataSource" TypeName="MyClass" ...></asp:ObjectDataSource>
무대 뒤에서, 내 물체는 이렇게 선언됩니다 ...
public class MyClass
{
public MyEnum MyProperty { get; set; }
}
[Flags()]
public Enum MyEnum
{
ChoiceOne = 1,
ChoiceTwo = 2
}
해결책
당신은 Items
수집하고 거기에서 열거 값을 구축하십시오.
Google에서 검색 FlaggedEnumTypeConverter
또한 도움이되어야합니다.
제휴하지 않습니다 StackOverflow