Warning: huge tech geek post ahead.
I had a chance to play with VS2005 and ASP.NET 2.0 over the last
two days after getting the bits onto a VM. This was my first time
with hands-on experience and I have to say that I am *really* impressed
with even the brief bits I have seen. Some of my own personal
highlights:
HTML View
My pages now load in HTML view rather than design view - I'm
sure this is a setting I can change but I *much* prefer it this way -
every time I've loaded a page in the 2003 IDE I've immediately switched
to HTML view anyway.
Better Intellisense
They were not kidding about significantly better Intellisense
- not only do I get it for the Page level declarations (*so* helpful!)
but also when I just start typing in the code window (with the modifier
I'm using highlighted). E.g. "o" becomes "override".
But not for Javascript
Javascript Intellisense is not *that* much better. Typing a
function call now gives you a list of parameters, but that's the only
improvement. It's really not that much better than the somewhat
disappointing jsEclipse...I am anxiously awaiting the day that good
Intellisense can be built-in for Javascript objects and object-related
declarations.
Exception handling
I like the way VS2005 handles exceptions; a window comes up informing
you of the exception and tells you the message. However, you are
also given options to view the exception details in a watch window or
to put all of the exception data into the clipboard for pasting
somewhere else. It's little touches like these that I especially
like.
Finally new events where we need them the most
This is the *big* one for myself and
Ryan,
for certain, and I'm sure many other developers with similar issues -
there are now *new events* in the Page lifecycle. In particular,
OnInitComplete and OnPreLoad are new events. Thank
goodness!!! So many frustrations and issues when trying to access
the page inbetween Init and Load might now be resolved!
They seem to have added several other timing-related events as well - I
noticed OnPreInit and OnLoadComplete, for example. I'm sure there
are many other new events but I've only been working with it for about 2 hours!
Much easier data access...
I know many have beaten this to death already, but data access is a
lot simpler
from first glance. It
seems like almost everything is done declaratively now. I was
wondering how to utilize dynamic parameters but it seems that Microsoft
has thought of that too. You can bind parameters through the
querystring,
the session, a form variable, various controls…anything you could
imagine, almost...there are objects representing all of these
(including ones for cookies and user profiles?) Only
thing I'm not sure about is making a customized parameter, but I will
delve into that more later.
...makes it easier to open a security hole?
The new data filtering is awesome, but I fear the sort of SQL injection
attacks that could result from someone being lazy on this…while it
makes getting and filtering data a lot easier, it seems to also make it
a lot easier to leave your application open to a scripting attack.
Paging:
The built-in paging is pretty easy, but I was disappointed to find out
that the SqlDataSource object only supports "UI-style" paging (bring
back all your rows and throw out what you don't need), not the more
efficient "only retrieve the rows you need" paging. However, I
was heartened to read in the Quickstart that the ObjectDataSource will
allow for that custom filtering (which I'll have to further look into).
And speaking of the Quickstarts...
It would be awesome if the Quickstart tutorial installation process
gave more valuable feedback than "Failed to configure IIS directory -
please check the logs - rolling everything back". ;) I did
end up
fixing my problem but it was only through a google search and some IIS
tinkering. And how about making your pages so that they fit
properly in a browser window? I can't imagine how aggravating it
must be for developers reading through the QuickStarts scrolling back
and forth across text! I mean, that can't be too hard, can
it? This kind of HTML layout has only been recommended, for what,
the last decade? =)
Overall, however, I am *really* excited about all the improvements that
I've seen so far. It certainly seems like a thorough upgrade and
I'm definitely excited to start using it more often!