The simplicity of model binding in the MVC framework makes it a powerful and pleasant framework to send models up and down to views. But a little short coming prevents the usage of enum arrays and raising maintainability in my opinion. MVC 4 cannot convert / materialize enum values to an array when used in a model. To put it correctly, there is no standard type converter for the job.
This issue manifested when I was working on a checkbox list of statuses that could be selected as a filter. This would then be posted as a comma separated parameter value to be set on the model object. Which is finally used in a LINQ query.
Using the following model would not be working in MCV when an action method accepts it as a parameter. You'd have to use an int array, convert the int array to an enum array or the other way around to send it to the view. Which I find kind of a hassle to me, especially when debugging. Enums are godly when it comes to understand what happens in a process during runtime. Even in JavaScript even though they are string values. It's almost costs no more performance than int values nowadays.
public class CustomerListQueryModel { public string SearchText { get; set; } public CustomerStatus[] FilterStatuses { get; set; } }
The solution to this, as described in lots of other blogs, is to implement your own model binder. A bit of a no-brainer, although my one objection is that a lot of the conversion logic is often not being shared as an all-round conversion standard in the whole system. An unnecessary loss of coherency and potentially increasing risks of bugs in my opinion.
I have been carrying around a conversion API for the past few years which has been proven to be very useful. When used properly it tolerated enough for correct interpretation and is strict enough to prevent faulty conversions. It deals just a little bit better with string-to-type conversions than the daily Parse methods on most value type. Hence it has a generic interface for almost every type. A logical choice to integrate it into the custom model binder.
How the conversion API works in detail can be seen in the following post. The converter is required for this model binder to work correctly, because it provides the custom type converter for value type array's.
Below is the model binder. It is nothing more than a facade that makes use of the converter API.
public class ExtendedModelBinder : DefaultModelBinder { /// <summary> /// Provides custom model binding by utilizing the Conversion helper API. /// </summary> protected override object GetPropertyValue( ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) { object value = GetCustomConvertedValue(bindingContext, propertyDescriptor); if (value != null) { return value; } return base.GetPropertyValue(controllerContext, bindingContext, propertyDescriptor, propertyBinder); } private static object GetCustomConvertedValue( ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) { var propertyType = propertyDescriptor.PropertyType; var providerValue = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); if (providerValue != null && providerValue.RawValue != null) { return Conversion.AsValue(propertyType, providerValue.RawValue.ToString()); } return null; } }
In the above code, when the model is bound, the model binder will first try to convert by using the conversion API, if that fails (without exception) and returns a null value, the binder falls back on the default MVC logic.
To use the binder is a matter of registration to override the default implementation, like so:
protected void Application_Start() { //// Your other useful code... ModelBinders.Binders.DefaultBinder = new ExtendedModelBinder(); }
Voila, all done. MVC will now be using the custom model binder. To check fro sure, you could set a break point to see if the GetPropertyValue method is being called.
i like the way of you have explained the code with the theory. every one can easily understand this with out any confusion. so keep posting such kind of interesting article.
ReplyDeletejava training in chennai
Great Article android based projects
DeleteJava Training in Chennai
Project Center in Chennai
Java Training in Chennai
projects for cse
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post.
ReplyDeletenescafe
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
شركة مكافحة حشرات بنجران
ReplyDeleteشركة مكافحة حشرات بجازان
شركة مكافحة حشرات بابها
شركة مكافحة حشرات بنجران
ReplyDeleteشركة مكافحة حشرات بجازان
شركة مكافحة حشرات بابها
شركة مكافحة حشرات بخميس مشيط
ReplyDeleteشركة مكافحة حشرات ببيشة
شركة مكافحة حشرات بحائل
شركة السالم لخدمات التنظيف ومكافحة الحشرات ونقل العفش مع الفك والتركيب بالطائف يتم العمل لدينا من خلال فريق وعماله فنيه مدربه في غاية الاتقان ومن خلال احدث المعدات والاداوات مع شركة السالم فانت دائما في راحة تامه وامن مستمر
ReplyDeleteشركة تنظيف بالطائف
شركة تنظيف مجالس بالطائف
شركة تنظيف خزانات بالطائف
شركة مكافحة حشرات بالطائف
شركة رش مبيدات بالطائف
شركة عزل اسطح بالطائف
شركة تسليك مجاري بالطائف
شركة نقل اثاث بالطائف
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
شركة السالم لخدمات التنظيف ومكافحة الحشرات ونقل العفش مع الفك والتركيب بالطائف يتم العمل لدينا من خلال فريق وعماله فنيه مدربه في غاية الاتقان ومن خلال احدث المعدات والاداوات مع شركة السالم فانت دائما في راحة تامه وامن مستمر
ReplyDeleteشركة تنظيف بالطائف
شركة تنظيف مجالس بالطائف
شركة تنظيف خزانات بالطائف
شركة مكافحة حشرات بالطائف
شركة رش مبيدات بالطائف
شركة عزل اسطح بالطائف
شركة تسليك مجاري بالطائف
شركة نقل اثاث بالطائف
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
هل تبحث عن شركة متخصصة فى خدمات التنظيف بالطائف بافضل المعدات والسوائل وثقة تمة فى العمل ودقة فى النتائج كل هذه المميزت توفرها شركة الخليج الشركة الافضل والامثل فى الخدمات المنزلية بالطائف وبما اننا الشركة الافضل والامثل بدون منافس سوف نسعى لتوفر افضل الخدمات باقل تكلفة وبقدر كبير من الاهتمام والدقة عزيزى اينما كنت فى اى منطقة ا وحى تابع لمدينة الطائف اتصل بنا وسوف نصلك فى الحال شركة الخليج للخدمات المنزلية شركة تنظيف منازل بالطائف
ReplyDeleteشركة تنظيف فلل بالطائف
شركة تنظيف خزانات بالطائف
شركة تسليك مجارى بالطائف
شركة رش مبيدات بالطائف
شركة مكافحة نمل ابيض بالطائف
شركة مكافحة حشرات بالطائف
شركة عزل اسطح بالطائف
شركة عزل خزانات بالطائف
شركة السالم لخدمات التنظيف ومكافحة الحشرات ونقل العفش مع الفك والتركيب بالطائف يتم العمل لدينا من خلال فريق وعماله فنيه مدربه في غاية الاتقان ومن خلال احدث المعدات والاداوات مع شركة السالم فانت دائما في راحة تامه وامن مستمر
ReplyDeleteشركة تنظيف بالطائف
شركة تنظيف مجالس بالطائف
شركة تنظيف خزانات بالطائف
شركة مكافحة حشرات بالطائف
شركة رش مبيدات بالطائف
شركة عزل اسطح بالطائف
شركة تسليك مجاري بالطائف
شركة نقل اثاث بالطائف
Really nice post. Thank you for sharing amazing information.
ReplyDeleteJava Training in Credo Systemz/Java Training in Chennai Credo Systemz/Java Training in Chennai/Java Training in Chennai with Placements/Java Training in Velachery/Java Training in OMR/Java Training Institute in Chennai/Java Training Center in Chennai/Java Training in Chennai fees/Best Java Training in Chennai/Best Java Training in Chennai with Placements/Best Java Training Institute in Chennai/Best Java Training Institute near me/Best Java Training in Velachery/Best Java Training in OMR/Best Java Training in India/Best Online Java Training in India/Best Java Training with Placement in Chennai
نحن نمتلك مجموعة من الخبراء والمتخصصين فى شركة تنظيف بابها ونحن نستطيع التعامل مع كافة المساحات المختلفة فلا يهم ان كنت تمتلك منزل او فيلا فأن لدينا خبرات كبيرة تمكنا من تقديم خدماتنا على اكمل وجه ولدينا عمال وفنيين محترفين ولهم خبرات مختلفة نقدم ايضآ تنظيف لواجهات الشركات والفنادق. فكل ما تحتاجه من معدات واجهزة ومنظفات ذات جودة عالمية موجودة بشركتنا فنحن نسعى فقط لارضاء العميل أولآ واخيرآ
ReplyDeleteشركة عزل خزانات بخميس مشيط
شركة مكافحة حشرات بخميس مشيط
شركة غسيل مجالس بخميس مشيط
شركة غسيل خزانات المياه بخميس مشيط
شركة غسيل خزانات بخميس مشيط
شركة تنظيف شقق بابها
شركه تنظيف بالدمامشركه تنظيف مكيفات بالرياض
ReplyDeleteشركه تنظيف مكيفات بالدمام
شركه تنظيف مجالس بالرياض
شركه تنظيف ثريات بالرياض
شركه تنظيف ثريات بالدمام
شركه مكافحه حشرات بالدمام
ReplyDeleteشركه تنظيف منازل بالخبر
شركه تنظيف ثريات بالدمام
شركه نقل اثاث بالرياض
شركه تنظيف منازل بالدمام
شركه نقل اثاث بالدمام
شركه تنظيف بالدمام<a href="https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.google.com%2Fsearch%3Fsafe%3Dstrict%26client%3Dms-android-samsung%26cds%3D0%26hl%3Dar-SA%26v%3D10.83.10.21.arm%26output%3Dsearch%26q%3D%25D8%25B4%25D8%25B1%25D9%2583%25D8%25A9%2520%25D8%25AA%25D9%2586%25D8%25B8%25D9%258A%25D9%2581%2520%25D8%25AE%25D8%25B2%25D8%25A7%25D9%2586%25D8%25A7%25D8%25AA%2520%25D9%2581%25D9%2584%25D9%2584%2520%25D9%2585%25D9%2586%25D8%25A7%25D8%25B2%25D9%2584%2520%25D8%25B4%25D9%2582%25D9%2582%2520%25D8%25B9%25D9%2585%25D8%25A7%25D9%258A%25D8%25B1%2520%25D9%2588%25D9%2585%25D8%25B3%25D8%25A7%25D8%25AC%25D8%25AF%2520%25D8%25A8%25D8%25A7%25D9%2584%25D8%25B1%25D9%258A%25D8%25A7%25D8%25B6%26ludocid%3D17007661320810494960%26ibp%3Dgwp%253B0%252C7%26lsig%3DAB86z5VVY_H6TEfRlbLkmMgVDayv%26kgs%3D5e0229b308706c68%26shndl%3D-1%26source%3Dsh%252Fx%252Fkp%252Flocal%26entrypoint%3Dsh%252Fx%252Fkp%252Flocal%26fbclid%3DIwAR0usrFwg0g-4ZW60f2M6Ny_v7M19XCHIuNmxTyztaza9qLLdyjlaeWGYzA&h=AT15JeSIeMyLEHOTkQBxip-yBX7RH-pGj9y8rToycMLcYBP3_Q863Tukxryt2wf5-WQC6jZVY6BEef5ukklYzhfjN21OpJ0YMoWR3pLdEKVETQJHtILzM0DHETqsfh5NPopVJLs8wVQ6Lbk_030j
شركه تنظيف بالدمامشركه تنظيف بالرياض
ReplyDeleteشركه تنظيف مكيفات بالرياض
شركه تنظيف مكيفات بالدمام
شركه تنظيف مجالس بالرياض
شركه تنظيف ثريات بالرياض
شركه تنظيف ثريات بالدمام
شركه تنظيف بالدمام
ReplyDeleteشركه تنظيف منازل بالرياض
شركه مكافحه حشرات بالخبر
شركه تنظيف منازل بالدمام
شركه تنظيف مجالس بالدمام
a href="https://rokn-elangaz.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%af%d9%85%d8%a7%d9%85
شركه تنظيف بالدمام
ReplyDeleteشركه تنظيف منازل بالرياض
شركه مكافحه حشرات بالخبر
شركه تنظيف منازل بالدمام
شركه تنظيف مجالس بالدمام
نحن نمتلك مجموعة من الخبراء والمتخصصين فى شركة تنظيف بابها ونحن نستطيع التعامل مع كافة المساحات المختلفة فلا يهم ان كنت تمتلك منزل او فيلا فأن لدينا خبرات كبيرة تمكنا من تقديم خدماتنا على اكمل وجه ولدينا عمال وفنيين محترفين ولهم خبرات مختلفة نقدم ايضآ تنظيف لواجهات الشركات والفنادق. فكل ما تحتاجه من معدات واجهزة ومنظفات ذات جودة عالمية موجودة بشركتنا فنحن نسعى فقط لارضاء العميل أولآ واخيرآ
ReplyDeleteشركة عزل خزانات بخميس مشيط
شركة مكافحة حشرات بخميس مشيط
شركة غسيل مجالس بخميس مشيط
شركة غسيل خزانات المياه بخميس مشيط
شركة غسيل خزانات بخميس مشيط
شركة تنظيف شقق بابها
نحن نمتلك مجموعة من الخبراء والمتخصصين فى شركة تنظيف بابها ونحن نستطيع التعامل مع كافة المساحات المختلفة فلا يهم ان كنت تمتلك منزل او فيلا فأن لدينا خبرات كبيرة تمكنا من تقديم خدماتنا على اكمل وجه ولدينا عمال وفنيين محترفين ولهم خبرات مختلفة نقدم ايضآ تنظيف لواجهات الشركات والفنادق. فكل ما تحتاجه من معدات واجهزة ومنظفات ذات جودة عالمية موجودة بشركتنا فنحن نسعى فقط لارضاء العميل أولآ واخيرآ
ReplyDeleteشركة عزل خزانات بخميس مشيط
شركة مكافحة حشرات بخميس مشيط
شركة غسيل مجالس بخميس مشيط
شركة غسيل خزانات المياه بخميس مشيط
شركة غسيل خزانات بخميس مشيط
شركة تنظيف شقق بابها
شركة مكافحة الحشرات في عمان
ReplyDeleteشركة رش مبيدات في عمان
شركة عزل خزانات في عمان
شركة عزل اسطح في عمان
شركة اعمال صحيه في عمان
شركة اعمال دهانات في عمان
شركة اعمال كهرباء في عمان
شركة صيانة وترميم منازل في عمان
نحن نمتلك مجموعة من الخبراء والمتخصصين فى شركة تنظيف بابها ونحن نستطيع التعامل مع كافة المساحات المختلفة فلا يهم ان كنت تمتلك منزل او فيلا فأن لدينا خبرات كبيرة تمكنا من تقديم خدماتنا على اكمل وجه ولدينا عمال وفنيين محترفين ولهم خبرات مختلفة نقدم ايضآ تنظيف لواجهات الشركات والفنادق. فكل ما تحتاجه من معدات واجهزة ومنظفات ذات جودة عالمية موجودة بشركتنا فنحن نسعى فقط لارضاء العميل أولآ واخيرآ
ReplyDeleteشركة عزل خزانات بخميس مشيط
شركة مكافحة حشرات بخميس مشيط
شركة غسيل مجالس بخميس مشيط
شركة غسيل خزانات المياه بخميس مشيط
شركة غسيل خزانات بخميس مشيط
شركة تنظيف شقق بابها
ReplyDeleteسما الصقر لجميع الخدمات العامة للمقاولات
كشف تسربات المياة بالرياض
شركة كشف تسربات المياه بالرياض
شركة كشف تسربات
ارخص شركة كشف تسربات المياه
كشف تسربات المياه بدون تكسير
شركة كشف تسربات مياه بالرياض
كشف تسربات بالرياض
كشف تسربات المياة
شركة فحص تسربات المياة بالرياض
كشف تسربات مياه
شركة ركن الثقة للخدمات المنزلية بجازان
ReplyDeleteشركة تنظيف خزانات بجازان
شركة تنظيف خزانات بصبيا
شركة تنظيف خزانات بأبو عريش
شركة تنظيف خزانات بصامطة
شركة تنظيف خزانات بالعيدابي
شركة تنظيف خزانات بأحد المسارحة
شركة تنظيف خزانات في بيش
شركة تنظيف خزانات بالعارضة
no deposit bonus forex 2021 - takipçi satın al - takipçi satın al - takipçi satın al - tiktok takipçi satın al - instagram beğeni satın al - instagram beğeni satın al - google haritalara yer ekleme - btcturk güvenilir mi - izlenme-satin-al.com - numarasmsonay.com - borsagazete.com - takipcisatinals.com - izlenme-satin-al.com/youtube - google haritalara yer ekleme - altyapısız internet - mikrofiber havlu - forexbonus2020.com - tiktok jeton hilesi - tiktok beğeni satın al - microsoft word ücretsiz indir - misli apk indir - binance güvenilir mi - takipçi satın al - mikrofiber havlu - uc satın al - takipçi satın al - takipçi satın al - finanspedia.com
ReplyDeletetakipçi satın al
ReplyDeletetakipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
takipçi satın al
instagram takipçi satın al
instagram takipçi satın al
takipçi satın al
takipçi satın al
instagram takipçi satın al
instagram takipçi satın al
instagram takipçi satın al
instagram takipçi satın al
takipçi satın al
instagram takipçi satın al
شركة كشف تسربات المياه
ReplyDeletebeğeni satın al
ReplyDeleteinstagram takipçi satın al
ucuz takipçi
takipçi satın al
https://takipcikenti.com
https://ucsatinal.org
instagram takipçi satın al
https://perdemodelleri.org
https://yazanadam.com
instagram takipçi satın al
balon perdeler
petek üstü perde
mutfak tül modelleri
kısa perde modelleri
fon perde modelleri
tül perde modelleri
https://atakanmedya.com
https://fatihmedya.com
https://smmpaketleri.com
https://takipcialdim.com
https://yazanadam.com
yasaklı sitelere giriş
aşk kitapları
yabancı şarkılar
sigorta sorgula
https://cozumlec.com
word indir ücretsiz
tiktok jeton hilesi
rastgele görüntülü sohbet
erkek spor ayakkabı
fitness moves
gym workouts
https://marsbahiscasino.org
http://4mcafee.com
http://paydayloansonlineare.com
seo fiyatları
ReplyDeletesaç ekimi
dedektör
instagram takipçi satın al
ankara evden eve nakliyat
fantezi iç giyim
sosyal medya yönetimi
mobil ödeme bozdurma
kripto para nasıl alınır
bitcoin nasıl alınır
ReplyDeletetiktok jeton hilesi
youtube abone satın al
gate io güvenilir mi
referans kimliği nedir
tiktok takipçi satın al
bitcoin nasıl alınır
mobil ödeme bozdurma
mobil ödeme bozdurma
TÜL PERDE MODELLERİ
ReplyDeleteMobil onay
mobil ödeme bozdurma
Nft Nasıl Alınır
ankara evden eve nakliyat
trafik sigortası
dedektör
Kurma.website
Ask Kitaplari