سؤال

بعد إجراء مشروع مع WPF والاحتفاظ بالكثير من إمكانات البيانات الممتازة، فقد انتقلت الآن إلى ASP.NET وستبدأ في تفويت بعض الأشياء WPF.

سؤالي هو...هل هناك أي شيء يشبه ValueConverters WPF ل ASP.NET?

على سبيل المثال، أريد أن تعرض USERCONTROL خاصا للملكية العامة وهو IEnumerable<int> ويمكن للمستخدم إدخال مثل هذا المصدر:

<asp:MyControl1 runat="server" ID="something" TheList="1,3,5,7"/>

ثم القيمة في TheList سيتم تحويلها إلى IEnumerable<int>, مع شيء مثل valueconverter من WPF.

تحديث] الحل

بفضل ناثان باولش ذكر أ TypeConverter, ، حصلت عبر هذا السؤال وتمكنت من بناء سلسلة إلى قائمة المحول.

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

المحلول

أود أن أوصي بإلقاء نظرة على system.componentmodel.typeconverter..

هذه تتضمن المقالة حول CodeProject مثال مشابه تماما لك إشراك خطوط الطول والعرض.

نصائح أخرى

لا أعتقد ذلك. أفضل تخمين هو التحويل الضمني من سلسلة إلى ienumberable، مما يعد بشكل عام شيء سيء للغاية، لكنه سيعمل في قضيتك.

يتم التعامل مع كل شيء في العلامات دائما كسلسلة، ما لم يتم وضعها <% %> - ثم يتم تفسيرها.

ماذا يمكنك القيام به هو تحديد عنصر تحكم DataSource IEnumperable. ثم يكون myControl لديه thelistdatasourceid من حيث سوف يستغرق الأمر البيانات iEnumerable.

<asp:MyControl1 runat="server" ID="something" TheListDataSourceID="myDataSource" />

<asp:MyIEnumerableDataSource runat="server" ID="myDataSource" TheList="1,3,5,7" />

ثم سيقوم IenumerableDataSource بالتحويل وسيعود iEnaryerable لتحضن المستخدم الذي تريده. حالة أفضل بكثير من التحويل الضمني.

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