Z racji pojawienia się nowego VS 2010 postanowiłem pobawić się nim i zobaczyć zobaczyć co oferuje nam stare, dobre ASP.NET w wersji 4.0.

Wywalmy tabelki

ASP.NET ma wiele dobrych i użytecznych kontrolek, które znacząco przyśpieszają proces tworzenia nowych serwisów opartych na tej technologii. Mankamentem ich, w poprzednich wersjach było to, że nawet jeśli dawały możliwość wstawienia swojego, ładnego kodu HTML w środku to opakowywały to wszystko na zewnątrz piękną tabelką

.

W nowej wersji ASP.NET możemy kontrolować to czy tabelka zostanie renderowana czy też nie. Pojawiła się nowa właściwość RenderOutputTable, która to kontroluje. Dzięki takiemu podejściu (a nie np. wywaleniu ich bez możliwości kontroli), możemy stopniowo używać to w naszym kodzie, tak aby wyeliminować tabelki zachowując nadal poprawne renderowanie się w innych miejscach.

Automatyczna zamiana tokenów HTML

Kolejną zmianą jaka została wprowadzona to, możliwość automatycznego zamieniania tagów HTML a ich bezpieczne odpowiedniki. Jeśli czasem używasz <%= %> do wyprowadzania informacji na stronie musisz pamiętać, iż stwarza to potencjalne niebezpieczeństwo, iż wyprowadzisz coś co może zostać zinterpretowane jako poprawny kod HTML. Aby tego uniknąć, użyj notacji <%: %> ( dwukropek zamiast znaku równości) a wszelki tekst zostanie odpowiednio zamieniony przed wyprowadzeniem na ekran.

Te nieszczęsne i długie IDki

Długie i czasem trudno przewidywalne ID elementów to był problem w poprzednich wersjach ASP.NET. Powodowało to utrudnienia w pisaniu kodu JS, który by do tych elementów mógł się odwołać.
W ASP.NET 4 wprowadzono mechanizm kontrolki tego jak ID są generowane. Mamy dostępne 4 tryby: Inherit, AutoID, Predictable oraz Static. Więcej do poczytania na MSDN – ClientIDMode Enumeration.

 

Podsumowanie

Fajnie, że ASP.NET ewoluuje. Na pewno jest więcej zmian w nim, niż tylko te powyższe. Widać jednak po tych wyżej opisanych, iż idą w stronę tego, aby aplikacji napisane w ASP.NET nadal były pisane szybko i aby kod HTML, który uzyskujemy był satysfakcjonujący. Nie zawsze potrzeba mieć 100% kontrolkę nad tym jaki kod jest generowany.