خاصية سمات عنصر تحكم ListItem يعمل فقط داخل عنصر تحكم HtmlSelect

الأعراض

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

على سبيل المثال، التعليمات البرمجية التالية RadioButtonList

<asp:RadioButtonList id="RadioButtonList1" runat="server"><asp:ListItem Value="v1" Key="k1">1</asp:ListItem>
</asp:RadioButtonList>

-أو-
RadioButtonList1.Items[0].Attributes.Add("key", "k1");
فقط إرجاع الإخراج التالي:

<input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="v1" /><label for="RadioButtonList1_0">1</label>

وبالمثل، DropDownList التعليمات البرمجية التالية

<asp:DropDownList id="DropDownList1" runat="server"><asp:ListItem Value="v1" Key="k1">1</asp:ListItem>
</asp:DropDownList>

فقط إرجاع الإخراج التالي:

<option value=v1>1</option>

"المفتاح = k1" لا يتم تقديمه.

السبب

عنصر القائمة عنصر التحكم يحتوي على خاصية سمات نوع أتريبوتكوليكتيون. عندما يكون عنصر التحكم عنصر القائمة داخل عنصر تحكم القائمة المنسدلة أو عنصر تحكم زر تبادلي ، لم تستخرج أزواج القيمة الأساسية التي تقوم بتعيينها إلى خاصية سمات عنصر التحكم عنصر القائمة (برمجياً أو بشكل إلزامي).

الحل

لإيجاد حل بديل لهذه المشكلة في عنصر تحكم زر تبادلي ، استخدم مجموعة من عناصر التحكم هتملينبوتراديوبوتون . على سبيل المثال:

<input id="Radio01" type="radio" name="group1" Key="k1" runat="server" >
لحل هذه المشكلة في عنصر تحكم القائمة المنسدلة , استخدم عنصر التحكم HtmlSelect . على سبيل المثال:
<select runat="server"><option value="v1" id="ID1" key="k1">1</option>
</select>

الحالة

يعتبر هذا السلوك حسب التصميم.

مزيد من المعلومات

في قسم "حل المشكلة" من هذه المقالة، تم استخدام عنصر التحكم HtmlSelect لإظهار كيفية تطبيق سمات expando كحل مؤقت لاستخدام عنصر تحكم القائمة المنسدلة . في حين أن كلا الفئتين تستخدم عنصر القائمة فئة داخليا، ودعم سمات expando بشكل مختلف. يدعم عنصر التحكم HtmlSelect باستخدام سمات expando نظراً لأن طراز البرمجة الخاصة به HTML أكثر مركزية. على الرغم من ذلك، دعم سمات expando مع عنصر تحكم القائمة المنسدلة أكثر تعقيداً من مجرد تقديم السمات نفسها. على سبيل المثال، لا يمكنك استخدام ربط البيانات لدعم السمات مع عنصر تحكم القائمة المنسدلة .
خصائص

رقم الموضوع: 309338 - آخر مراجعة: 18‏/01‏/2017 - المراجعة: 1

تعليقات