Brad Abrams, Group Program Manager, .NET Framework, http://blogs.msdn.com/brada; http://blogs.msdn.com/brada/archive/2008/03/06/mix08-session-overview-building-great-ajax-applications-from-scratch-using-asp-net-3-5-and-visual-studio-2008.aspx
- Visual Studio 2008 has a MUCH better way of letting you interact with your CSS (even in external documents)
- real-time preview of your css rules -- at last!
- handles on your elements (in preview mode) let you dynamically resize divs and automagically wire your css ruls accordingly -- FTW!
- the automatic preview in VS2008 uses a custom rendering engine that is supposed to be uber-compatible mode (not using the IE7 or even the IE8 rendering engine)... makes me wonder why IE7/IE8 isn't using this engine ;)
- Use the solution's property page to change the target framework between.NET 2.0, 3.0, and 3.5
- .NET framework 3.0 and 3.5 are layered upon .NET 2.0 which makes multi-targeting easier, and easier for hosts
- future versions of the CLR will be completely separate
- NEW CONTROL: List view
- rather than using a repeater with an unordered list, List View lets you do the same thing, but gives you a LayoutTemplate (which looks like a combined HeaderTemplate and FooterTemplate...
- you just have to nest an <asp:PlaceHolder in the LayoutTemplate,
- and reference the LaoutTemplate in the ItemTemplate attributes
- LINQ: A common way to work with data
- Embedding tSQL and stored procedures in your code is probably not the best thing
- in the .dbml file you drop in your tables, and you can rename any element (just in case your DBA named things kind of screwy)
- same syntax to talk to a SQL database, Oracle, MySQL, XML, Flickr, Amazon a9 (?), Google (?), in-memory data objects, etc.
- You can tier your LINQ statements, to pull in a big chunk of data from the data source, then run another LINKQ statement against that in-memory data set (to reduce load on the database and time to return the data)
- var:
- new variable type, lets the compiler decide what type it should be
- good for prototyping and initial developing, but you should go back and type it correctly
- NEW CONTROL: DataPager
- UpdatePanel
- An AJAX control that defines an area that can be updated asynchronously
- ProgressTemplate to show when the panel is being updated (if needed; if you're on a fast connection and the time to render is very short, the progress indicator won't be shown -- avoiding unnecessary distractions)
- Javascript debugging
- No more need to do "Alert" style debugging!
- Can set breakpoints
- Extenders (from the AjaxControlToolkit)
- extenders are now available via hover in design view (easy, fast, sweet)
- no need to manually wire up extenders to (say) textboxes, use the wizard and do it fast
Open thoughts:
- Why not extend the existing components (datalist, datagrid, etc.) to include AJAX update properties (such as Async=true and a Triggers collection
- Why not add a "AddBrowserHistory" flag to maintain "back" functionality of the browser
If you liked this post, please be sure to subscribe to my
RSS Feed.