CheckBoxList مع قيم متعددة منضمة إلى التعداد علم واحد
-
10-07-2019 - |
سؤال
ولدي FormView (منضم إلى ObjectDataSource) الذي يحتوي على CheckBoxList ان كنت ترغب في ربط خاصية واحدة من الكائن الأساسي الذي هو التعداد مع FlagsAttribute المطبق عليه. ملزمة للممتلكات SelectedValue يعطيني دائما مجرد القيمة المحددة الأولى من هذه القائمة، قيمة العقار. أحد يعرف كيفية التفاف على هذا دون تجاوز الإدراج أو تحديث طرق والحصول يدويا قيم قائمة مربع وحشو في المعلمات من مصدر البيانات؟ نموذج التعليمات البرمجية أدناه ما أحاول القيام به ...
<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
وبناء القيم التعداد من هناك.
وينبغي أيضا أن يكون البحث على جوجل لFlaggedEnumTypeConverter
مفيدة.
لا تنتمي إلى StackOverflow