ASP.NET 4.5 Web Forms Model Binding, DynamicData, etc

ASP.NET 4.5 Web Forms Model Binding, DynamicData, etc

Old forum URL: forums.lhotka.net/forums/t/11138.aspx


rcollette posted on Wednesday, February 08, 2012

Scott Hanselman has a recent blog post that succinctly covers the new features of ASP.NET 4.5 Web Forms including the use of Model Binding, Routing to implement Post-Redirect-Get, Use of DynamicField for typed data input and unobtrusive JavaScript validation, etc. 

It is somewhat re-invigorating to me as a Web Form developer, who is not building high usage sites like StackOverflow that might benefit from or require MVC, to see modern architecture features like model binding being added to Web Forms.  Further, Scott comments at the bottom that "MVC usage is maybe 10% of ASP.NET usage right now". (http://www.hanselman.com/blog/OneASPNETSneakPeekElegantWebFormsAndSnowballsInHell.aspx#bd5ed62b-64ff-4516-a50c-692ef6061783)

Given the upcoming enhancements to Web Forms and comments like Scott's regarding MVC adoption, will the CSLA.NET framework continue to specifically support Web Forms for compatibility with things like data binding, attributed validation, dynamic data/dynamicfield, etc. as demonstrated in Scott's blog article?

 

 

RockfordLhotka replied on Thursday, February 09, 2012

I absolutely intend to support Web Forms in .NET 4.5.

I don't know that everything you list will be supported - the concepts have to fit into the overall architectural vision for CSLA .NET and the realities of web development.

Obviously no .NET code will run in the browser, so CSLA will have little or nothing to do with any client-side js code or its capabilities. However, where ASP.NET generates client-side tags/script based on server-side knowledge like DataAnnotations attributes - those are places where CSLA will provide support to ASP.NET.

I've supported DataAnnotations for a few years now of course, and if Web Forms will finally start using them, that's just wonderful. CSLA already makes these work for all other UI types (even Windows Forms), and I'm looking forward to comparable functionaltiy in Web Forms.

Things like AJAX-based validation of fields can be problematic. We'll support where possible - but CSLA validation rules run within the context of the object model, and that means the object model must exist in memory. This typically means storing the object model in Session so it is available to the AJAX callback.

For low-scaling web sites that don't need super-high fault tolerance this is very practical, and this sounds like what you are talking about.

For high-scaling sites, or sites that need good fault tolerance, you absolutely can't use Session - and that pretty much eliminates the ability to do an AJAX callback to run complex business rules on the server (with or without CSLA - it is just a simple reality).

Copyright (c) Marimer LLC