I'm looking for feedback on what other people use on their ASP.NET projects to provide a rich user interface experience while still remaining as productive as possible.
I'm developing an ASP.NET 3.5 web based application however I'm looking to make the UI in this project as rich as possible e.g.
minimisation of postbacks and full page refreshes
Use of AJAX where appropriate
Ability to apply own theme/skin to any third party components.
I am very good at CSS/Javascript,am getting more and more proffcient in Jquery and have a pretty good knowledge of ASP.NET. However in terms of the Xhtml and client side technologies I have to be aware that not everyone coming to work on future projects will be as clued up on the Xhtml/CSS/Script side. Hence another key requirement is
- If possible get good design time support in Visual studio for the above
At the moment I'm looking into the bog standard search ane edit type screens e.g. search for some data and drill down and edit. Using ListView/GridView out of the box with no AJAX isn't an option as the user experience is too poor.
but am struggling between what I see as three different options.
- Use the out of the box controls ASP.NET controls but with an updatepanel to minimise postbacks. I am not sure about this though as I have read the update panel is not very efficient (e.g. if you have a grid and put it into edit more ALL of the grids markup will be fetched from the server again.)
- Give up on the ASP.NET controls and use a third party grid like Developer express grids. I've had a play with these and like the searching and grouping parts of this but when it comes to editing I'm not so sure.
- Come up with a cunning plan of my own. I'm thinking of a web service returning JSON etc etc. This appeals to me but if I was going down this route I would need to convince my bosses that this could be productive and tie into as much exsiting stuff as possible. I've looked briefly at ADO.NET Data Services for instance.
Anyway as I said the aim of this question is to try and get a feel for what other people use on their ASP.NET projects to provide a rich user interface experience while still remaining as productive as possible.