AspNet.sk     Diskusné fóra     Vitajte v QuickStarts     ASP.NET     Silverlight     Ako môžem...? (en)     Class prehliadač Príklady chcem v ...   
Menu
Skip Navigation Links.
Späť na ASP.NET príručku

ASP.NET QuickStart Príručka

Zdieľanie kódu medzi stránkami

Aj keď môžete umiestniť kod do každej stránky (použitím inline alebo code-behind modelu, ktoré sú popísané v predchádzajúcej sekcii), vyskytnú sa niekedy prípady, keď budete chcieť zdieľať kód medzi niekoľkými stránkami. Zachovávať tento kód kopírovaním na každú stránku vždy, keď je to potrebné, by bolo neefektívne a zložité. Našťastie ASP.NET 2.0 poskytuje niekoľko pohodlných spôsobov, vďaka ktorým môžete kód sprístupniť pre vštky stránky v aplikácii.

Priečinok App_Code nové v 2.0

Ako aj stránky, tak isto aj ľubovolné kódové súbory (napr. súbory .cs alebo .vb) môžu byť zostavené v priebehu programu dynamicky. ASP.NET 2.0 prináša priečinok App_Code, ktorý môže obsahovať nezávislé súbory obsahujúce kód, ktorý môže byť zdieľaný niekoľkými stránkami vo Vašej aplikácii. Na rozdiel od ASP.NET 1.x, ktorý vyžadoval, aby tieto súbory boli predkompilované do Bin adresára, hocijaký kódový súbor v priečinku App_Code bude dynamicky zostavený v priebehu programu a bude sprístupnený pre aplikáciu. Súbory napísané aj vo viac ako jednom jazyku je možné umiestniť do priečinka App_Code, za predpokladu, že sú rozdelené do podpriečinkov (registrované vo Web.config s príslušným jazykom). Nasledujúci príklad demoštruje, ako používať priečinok App_Code, aby obsahoval jednoduchú triedu, volanú zo stránky.

VB App_Code Folder Example
Run Sample View Source

Štandardne, priečinok App_Code môže obsahovať len súbory rovnakého jazyka. Ale adresár App_Code môžete rozdeliť do podpriečinkov (každý z nich bude obsahovať rovnaký jazyk) tak, aby každý z nich predstavoval jednotlivé jazyky pod priečinkom App_Code. Aby ste to mohli urobiť, musíte zaregistrovať každý podpriečinok vo Web.config.
<configuration>
  <system.web>
    <compilation>
      <codeSubDirectories>
        <add directoryName="Podpriečinok"/>
      </codeSubDirectories>
    </compilation>
  </system.web>
</configuration>
Nasledujúci príklad demoštruje rozdelenie priečinka App_code tak, aby obsahoval súbory v obidvoch jazykoch - VB a C#.

VB Partitioned App_Code Folder Example
Run Sample View Source

Priečinok Bin

Priečinok Bin vo verzii ASP.NET 1.x je niečo ako kódový adresár (Code directory), okrem toho však môže obsahovať aj predkompilované zostavenia (assemblies). Je to užitočné, ak potrebujete použiť kód, ktorý napísal niekto iný, pričom nemáte prístup k zdrojovému kódu (VB alebo C#), ale namiesto toho máte kompilované DLL. Jednoducho umiestnite assembly do Bin priečinku, aby bol dostupný pre celú stránku. Štandardne všetky zostavenia v Bin priečinku sú automaticky načítané v aplikácii a sprístupnené každej stránke. Na to, aby ste použili direktívu @Import na vrchu stránky, budete pravdepodobne potrebovať špecifický menný priestor (namespace) zo zostavení (assemblies) v Bin adresári.
  <@ Import Namespace="MyCustomNamespace" >

Global Assembly Cache

.NET Framework 2.0 obsahuje množstvo assemblies, ktoré reprezentujú rozličné časti Framework-u. Tieto assemblies sú uložené v globálnej assembly cache, ktorá je vlastne akási schránka verzií asseblies, ktorá je sprístupnená pre všetky aplikácie na počítači (nie je to špecifická aplikácia, ako tá v prípade Bin a App_Code). Niekoľko assemblies vo Frameworku sú automaticky sprístupnené pre aplikácie ASP.NET. Dodatočné assemblies môžete registrovať pomocou regstrácie v súbore Web.config vo vašej aplikácii.
<configuration>
   <compilation>
      <assemblies>
         <add assembly="System.Data, Version=1.0.2411.0, 
                        Culture=neutral, 
                        PublicKeyToken=b77a5c561934e089"/>
      </assemblies>
   </compilation>
</configuration>
Všimnite si, že na to, aby ste menné priestory v týchto assemblies sprístupnili do individuálnych stránok, potrebujete stále použiť príkaz @Import.
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.