Práce s prostředky webu v technologii ASP.NET 2.0

Překlady článku Překlady článku
ID článku: 910442 - Produkty, které se vztahují k tomuto článku.
Sloupec hlasové podpory technologie ASP.NET

Práce s prostředky webu v technologii ASP.NET 2.0

Chcete-li upravit tento sloupec vašim potřebám, chceme pozvat sdělit své nápady o tématech, která zajímají je a problémy, které chcete zobrazit řešit v budoucnosti sloupce podporu hlasu a články znalostní báze Knowledge Base. Můžete odeslat své myšlenky a pomocí zpětné vazby Požádejte o ni formulář. Je zde také odkaz na formulář v dolní části tohoto sloupce.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Hi! Mé jméno je Praveen Yerneni a mám funkční technické zájemce s ASP.NET skupinu podpory společnosti Microsoft. V tomto měsíci sloupci kliknu diskutovat o webové prostředky a jejich v implementaci aplikace aplikace.

Pokud jste vývojář, který široce spolupracuje s COM ovládací prvky, užitečné v tomto článku v adresování některé klíče problémy, které mohou čelit při vývoji ovládacích prvků. V předchozích verzích aplikace Microsoft Technologie ASP.NET 1.1, pokud jste chtěli zavést statické soubory, například soubory HTML, CSS soubory, soubory obrázků a souborů skriptů pomocí ovládacího prvku modelu COM, bylo nutné vytvořit technologie Instalační služby a svazku tyto soubory s COM řízení. Přestože Toto fungovalo, je předložen mnoho problémů při nasazení ovládacího prvku. Pro například jste mohl mít potíže s konflikty verzí s a ujistěte se soubory, například obrázky byly nasazeny do stejného umístění, zda se poškozené nebo odstraněné statické soubory, které by mohly způsobit selhání ovládacího prvku.

Web Zdroje v aplikaci Microsoft ASP.NET 2.0 řeší tyto problémy tím, že Vývojář vložit tyto prostředky v sestavení jako Resources. Pro přístup k těmto statické prostředky mohou jen volání metody v ovládacím prvku kód.

Jak fungují webové prostředky

Webové prostředky spoléhat na speciální obslužná rutina s názvem WebResource.axd, které slouží k načtení sestavení prostředků a sloužit je webový prohlížeč. Typ obslužná rutina WebResource.axd je AssemblyResourceLoader.

Pokud přijde žádost od klienta WebResource.axd, obslužné rutiny hledá identifikátor webového prostředku v metodě QueryString objektu Request . Na základě hodnoty identifikátor webového prostředku, obslužné rutiny se poté pokusí načíst sestavení, která obsahuje tento zdroj. Pokud tento Operace byla úspěšná, obslužná rutina potom vyhledejte atribut sestavení a načtení proudu prostředek ze sestavení. Nakonec se chytněte obslužné rutiny data ze zdroje proudu a odesláním klientovi spolu s typ obsahu zadaný atribut sestavení.

Adresa URL WebResource.axd vypadá následovně:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
Formát této adresy URL je WebResource.axd?d=šifrování identifikátor& t =Hodnota časového razítka. Na "d" je zkratka pro požadovaný webový prostředek. "t" je časové razítko pro požadovaná sestavení, které může pomoci při určování, zda byly všechny změny zdroje.

Seznamovat kód

V tomto příkladu jsem vyvinuli ovládací prvek modelu COM, která je využívána Webové aplikace technologie ASP.NET k prokázání této nové funkce.

Ovládací prvek modelu COM pro webový prostředek

Pro vytvoření a vložení webového prostředku, I vyvinuli COM ovládací prvek (SimpleControl). Má následující vložené prostředky.
  • Dva obrazové soubory, které jsou pojmenovány smallFail.gif a smallSuccess.gif. Tyto obrazové soubory se používají pro efekty při přechodu myší v řízení a jsou spotřebovávány v kódu ovládacího prvku.
  • Soubor HTML s názvem Help.htm. Tento soubor neobsahuje obsahuje mnoho textu a je pouze pro demonstrační.
  • Jeden soubor JavaScriptu s názvem MyScript.js. Tento soubor obsahuje některé kód jazyka JavaScript, který také ukazuje funkci náhrada Chcete-li získat odkaz na jiný prvek v rámci stejného sestavení.
  • Jeden CSS soubor s názvem MyStyleSheet.css. Tento styl list je potom používán přímo z aplikace technologie ASP.NET.
V tomto článku se podíváme na ty části, které jsou požadovány pro Webové prostředky.
Vložení webové prostředky
Nejdřív musíte zajistit, že statické soubory, které jsou Přidat do knihovny ovládacích prvků webového projektu v aplikaci Microsoft Visual Studio 2005 jsou vložené prostředky. Chcete-li vložit tyto prostředky, vše, co musíte udělat je, přidat těchto souborů v sadě Visual Studio a potom tak změnit vlastnosti těchto souborů aby proces sestavení je nastaven na Vložený Zdroj.

Poté co jste toto provedli, je také nutné jisti, že tyto prostředky mají byla odkazuje atribut v souboru AssemblyInfo.cs sestavení webového prostředku jak je ukázáno níže.
[assembly: WebResource("SimpleControl.Help.htm", "text/html")]
[assembly: WebResource("SimpleControl.MyStyleSheet.css", "text/css")]
[assembly: WebResource("SimpleControl.smallFail.gif", "image/gif")]
[assembly: WebResource("SimpleControl.smallSuccess.gif", "image/gif")]
[assembly: WebResource("SimpleControl.MyScript.js", "text/javascript", PerformSubstitution = true)]

Atribut sestavení webového prostředku má tři parametry:
  • Webový prostředek: název prostředku, který je vložen v sestavení
  • ContentType: The MIME Typ souboru zdroje
  • PerformSubstitution: logická hodnota, která určuje, zda adresy URL jiných webových zdrojů odkazuje tento prostředek jsou analyzovány a nahrazena úplnou cestu. zdroje
Načítání webových prostředků
Pro získání webového prostředku, lze použít metodu GetWebResourceUrl , která představuje metodu ClientScriptManager třídy, která se obvykle používá pro správu klientské skripty. Tato metoda vrátí adresu URL odkaz na straně serveru zdroj, který je vložené do sestavení. Metoda GetWebResourceUrl přijímá následující dva parametry:
  • Typ: typ prostředku straně serveru
  • Název zdroje: název prostředku straně serveru
Chcete-li použít tuto metodu, máte k vytvoření instance třídy ClientScriptManager a získat typ třídy, jak je ukázáno níže.
ClientScriptManager cs = Page.ClientScript;
            Type rsType = this.GetType();

Pokud jste vytvořili instanci této třídy, pak máte volat to metodu a předat příslušné parametry viz níže, kde lze vytvořit tlačítko, hypertextový odkaz a nastavte vlastnost NavigateURL metodu přejděte na prvek jazyka HTML.
HyperLink hlHelpFile = new HyperLink();
            hlHelpFile.NavigateUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.Help.htm");
            hlHelpFile.Attributes.Add("onmouseover", "ChangeImage('image1','Red')");
            hlHelpFile.Attributes.Add("onmouseout", "RollbackImage('image1','Green')");
            
            this.Controls.Add(hlHelpFile);

            Image imgTest = new Image();
            imgTest.ImageUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.smallFail.gif");
            imgTest.ID = "image1";
            hlHelpFile.Controls.Add(imgTest);

Rovněž ve výpisu výše stejného kódu, vytvořil jsem tlačítko Obrázek a ImageUrl atribut je jeho hodnota od jiného vloženého souboru GIF prostředek.
Pomocí funkce nahrazení
Další užitečnou funkcí pomocí webových prostředků je PerformSubstitution vlastnost atributu webového prostředku , jak je uvedeno v části "Vložení Web zdroje" výše. Tato funkce umožňuje skutečně získat uvnitř jiného vložené webové prostředky prostředek. Pokud je tato vlastnost povolena, bude analyzovat integrovaný prostředek a nahradit syntaxi rutiny webového prostředku Atribut sestavení webového prostředku skutečnými zdroji před sloužící stránka.

V kódu výše zjistíte, že ovládací prvek hypertextový odkaz obsahuje klientskou událost, která se nazývá ChangeImage. Tato funkce ChangeImage je umístěn v souboru skriptu. Následuje kód pro tento skript.
function ChangeImage(imgControl,varcolor){
   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallSuccess.gif")%>';
    document.getElementById('Label1').style.color = varcolor;
}

function RollbackImage(imgControl, varcolor){
   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallFail.gif")%>';
   document.getElementById('Label1').style.color = varcolor;
}
Tento soubor skriptu s názvem MyScript.js je také integrovaný prostředek ve stejné ovládací prvek modelu COM. A Všimněte si, že používám metodu zobrazení odkazuje na jiný prvek ve skriptu PST.

Také a ujistěte se, že tento soubor jazyka JavaScript je registrována v na stránce použít RegisterClientScriptInclude metoda třídy ClientScriptManager jak je ukázáno níže.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

Využívající ovládací prvek v technologii ASP.NET

Po vytvoření ovládacího prvku modelu COM úspěšně, je nutné Tento ovládací prvek ASP.NET klientský projekt spotřebovat. Chcete-li to provést, musíte se Přidejte ovládací prvek na panelu nástrojů v technologii ASP.NET. Potom můžete přidat ovládací prvek na libovolnou Webový formulář v návrháři.

Pokud přidáte ovládací prvek na panelu nástrojů ovládací prvek automaticky zaregistrován a je přidán následující kód, když se podíváte na syntaxe HTML.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
V mé ovládací prvek modelu COM I také vložený soubor stylů, které budou I používáte v aplikaci technologie ASP.NET. Chcete-li získat přístup k této šabloně stylů, je nutné přidat propojení HtmlControl v HTML stránky a nastavte vlastnost runat na server , jak je znázorněno níže.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
Potom můžete programově nastavit atribut Href tohoto ovládacího prvku, jak je uvedeno níže v bodě atribut sestavení webového prostředku v události Page_Load .
protected void Page_Load(object sender, EventArgs e)
    {
        //Get the name of the Web Resource.
        String rsname = "SimpleControl.MyStyleSheet.css";
        
        //Get the type of the class.
        Type rstype = typeof(SimpleControl.MSButton);

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;
        lnkStyle.Href = cs.GetWebResourceUrl(rstype, rsname);
     }

Při spuštění kódu se zobrazí ovládací prvek, který vypadá jako následující:
Zmenšit tento obrázekZvětšit tento obrázek
 malá selhání
A na myši nad ovládací prvek bude vypadat takto:
Zmenšit tento obrázekZvětšit tento obrázek
 malý úspěch.
Po kliknutí na tento odkaz, bude trvat vám stránky, které je vložen do souboru sestavení ovládacího prvku modelu COM.

Uzavření

Webové prostředky je užitečné nové funkce v prostředí ASP.NET 2.0. Můžete použít Tato funkce s výhodou Pokud použijete uvážlivě. Mnoho technik ukládání byly použity, aby bylo zajištěno, že webových zdrojů neovlivní výkon aplikace.

V technologii ASP.NET 2.0 WebResource.axd používá interně rozhraní.NET Framework společnosti Microsoft získat vložené prostředky. Například Rozhraní.NET Framework používá WebResource.axd získat skript WebUIValidation.js soubor, který se používá pro ověřovací ovládací prvky a pro ovládací prvky nabídky načíst soubor skriptu Menu.js.

Odkazy

Další informace naleznete na následujících webech společnosti Microsoft:
Metoda ClientScriptManager.GetWebResourceUrl
http://msdn2.microsoft.com/en-us/library(d=robot) /system.web.ui.clientscriptmanager.getwebresourceurl.aspx

WebResourceAttribute třída
http://msdn2.microsoft.com/en-us/library(d=robot) /system.web.ui.webresourceattribute.aspx

Připojené a vložené prostředky.
http://msdn2.microsoft.com/en-us/library/ht9h2dk8.aspx
Jako vždy pocit volného odeslat nápady na témata, že které chcete řešit v budoucnosti sloupce nebo pomocí znalostní báze Knowledge Base Požádejte o ni formulář.

Vlastnosti

ID článku: 910442 - Poslední aktualizace: 30. dubna 2013 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 2.0
Klíčová slova: 
kbhowto kbasp kbmt KB910442 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 910442
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com