سؤال

ما هي أفضل طريقة للتعامل مع هذا:

class Option {
    int id;
    string name;
}

class QuoteItem
{
     IList<Option> options;
}

class QuoteViewModel {
     IList<Option> allOptions;
     QuoteItem quoteItem;
}

في الأساس ، لدي جميع الخيارات المتاحة في allOptions. أريد أن يكون لدي مربع اختيار يضع آخر Option (حتى لو كان ذلك فقط id) داخل ال QuoteItem.options قائمة عند فحصها. كيف يمكنني إنجاز هذا؟ هل سيكون من الأفضل أن يكون IList<bool> وربطها بعد الحقيقة؟

هل كانت مفيدة؟

المحلول

أقترح عليك إلقاء نظرة على هذا إدخال المدونة من Phil Haack حول ملزمة النموذج إلى قائمة

بالنسبة لموقفك ، يمكنك استخدام الطراز البسيط ملزمًا بـ IEnumerable<int> options, ، حيث ستكون القيم معرف الخيارات التي اخترتها.

سوف تبدو طريقة عرض الإدخال الخاصة بك شيئًا كهذا:

<form method="post" action="/QuoteItems/SetOptions">
        <input type="hidden" name="options" value="1" />
        <input type="hidden" name="options" value="4" />
        <input type="hidden" name="options" value="2" />
        <input type="hidden" name="options" value="8" />
        <input type="submit" />
    </form>

تحتوي المدخلات المخفية على سمة اسم OptionId المحددة ، والتي هي نفسها لكل إدخال مخفي. يمكن أن يرتبط موثق النموذج الافتراضي هذا بقائمة من الأعداد الصحيحة.

الشيء الذي تحتاج إلى القيام به بعد ذلك هو إضافة / إزالة إدخال الخيارات المخفية في جانب العميل اعتمادًا على ما إذا كان يتم تحديد عنصر في "Coll-Options" تحديد التحكم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top