To jako že když je web v ASP.NET, že se všechno musí dělat přes ASP.NET postbacky a ne javascriptem? Vy toho o vývoji webových aplikací víte asi hodně. Každé řešení má svoje výhody a nevýhody, předpokládejme, že chceme třeba po kliknutí na tlačítko vyplnit TextBox. Pokud komponenty na formuláři aktualizujete javascriptem, stránka se neodesílá na server, běží to v klientově prohlížeči a pochopitelně na serveru se vám ani nevyvolají události Click a TextChanged. V některých hloupějších prohlížečích (mobily) nebo některým hloupějším uživatelům (kteří si o sobě myslí, že "počítačům rozumí", a vypínají si javascript) to samozřejmě nebude fungovat, ale v 99% případů ano, tím se nemá až tak cenu zabývat. Pokud tuto akci budete dělat v C# nebo VB.NET, bude se provádět na serveru. Tedy tlačítko odešle celou stránku na server, server v ní změní jeden maličký detail a odešle ji zase zpět. To se hodí jak kdy. Pokud mám ve stránce jeden takovýto prvek, např. něco vyberu v seznamu a kus stránky se musí aktualizovat, je to v pohodě. Ale zkuste si dát pokročilé vyhledávánínotebooků na Alza.cz, tam je tisíc zaškrtávátek a každé odesílá stránku na server. Mám tady 100MBs přítup na Internet, ale Alza má pomalé servery, takže je to ílené a nedá se to používat, po každém zatržení políčka musíte 2 sekundy čekat. Dá se to řešit ješte pomocí technologie Ajax - tlačítko pomocí javascriptu vystaví speciální požadavek na server (stránka zůstane v prohlížeči stále načtená, "neodesílá se celá") a server vrátí jen ten kousek, který se změnil (pošle tedy jen aktualizovaný TextBox). V ASP.NET se to dělá relativně jednoduše, nemusíte ani Javascript umět, vygeneruje ho to samo. Takže příště, až budete někomu radit, je potřeba zvážit, jestli je rozumné na jistých místech používat prostředky ASP.NET, které nám sice šetří práci, ale mají jisté nevýhody (většinou to nevadí, v některých případech ale bohužel ano), jestli zkrátka není vhodné použít starý dobrý Javascript, HTML a CSS. Je nutné si uvědomit, že ASP.NET tyto technologie nenahrazuje, nejde proti těmto technologiím. ASP.NET je na nich de facto postavené - generuje HTML, CSS a javascripty tak, aby stránka fungovala. To, že jsou na tomto webu tutoriály s ASP.NET v názvu ještě neznamená, že řešit věci jinak je špatně.
|