Megosztás a következőn keresztül:


Bináris adatok megjelenítése az adat webes vezérlőiben (VB)

által Scott Mitchell

PDF letöltése

Ebben az oktatóanyagban áttekintjük a bináris adatok weblapon való megjelenítésének lehetőségeit, beleértve a képfájl megjelenítését és a PDF-fájlok letöltési hivatkozásának kiépítését.

Bevezetés

Az előző oktatóanyagban megvizsgáltuk a bináris adatok alkalmazás alapjául szolgáló adatmodellhez való társításának két technikáját, és a FileUpload vezérlővel fájlokat tölthettünk fel egy böngészőből a webkiszolgáló fájlrendszerére. Még nem láttuk, hogyan társítható a feltöltött bináris adatok az adatmodellhez. Vagyis a fájl feltöltése és a fájlrendszerbe való mentése után a fájl elérési útját a megfelelő adatbázisrekordban kell tárolni. Ha az adatokat közvetlenül az adatbázisban tárolják, akkor a feltöltött bináris adatokat nem kell a fájlrendszerbe menteni, hanem be kell szúrni az adatbázisba.

Mielőtt azonban az adatmodellhez társítanánk az adatokat, először nézzük meg, hogyan biztosíthatjuk a bináris adatokat a végfelhasználónak. A szöveges adatok bemutatása elég egyszerű, de hogyan jelenjenek meg a bináris adatok? Ez természetesen a bináris adatok típusától függ. Képek esetén valószínűleg meg szeretnénk jeleníteni a képet; PDF-fájlok, Microsoft Word-dokumentumok, ZIP-fájlok és más típusú bináris adatok esetén a letöltési hivatkozás megadása valószínűleg megfelelőbb.

Ebben az oktatóanyagban azt vizsgáljuk meg, hogyan jeleníthetjük meg a bináris adatokat a társított szöveges adatok mellett olyan adat-webes vezérlőkkel, mint a GridView és a DetailsView. A következő oktatóanyagban arra fordítjuk a figyelmünket, hogy társítsunk egy feltöltött fájlt az adatbázissal.

1. lépés: Értékek megadásaBrochurePath

A Picture tábla oszlopa Categories már tartalmaz bináris adatokat a különböző kategóriaképekhez. Pontosabban az Picture egyes rekordok oszlopa egy szemcsés, gyenge minőségű, 16 színes bitkép bináris tartalmát tartalmazza. Minden kategóriakép 172 képpont széles és 120 képpont magas, és nagyjából 11 KB-t használ fel. Mi több, az oszlop bináris Picture tartalma tartalmaz egy 78 bájtos OLE fejlécet, amelyet a kép megjelenítése előtt le kell venni. Ezek a fejlécadatok azért vannak jelen, mert a Northwind-adatbázis a Microsoft Accessben gyökerezik. Az Accessben a bináris adatok tárolása az OLE objektum adattípusával történik, amely a fejlécen található. Egyelőre nézzük meg, hogyan távolítsuk el a fejléceket ezekről az alacsony minőségű képekről a képek megjelenítéséhez. Egy későbbi oktatóanyagban létrehozunk egy felületet egy kategóriaoszlop Picture frissítéséhez, és lecseréljük az OLE fejléceket használó bitképeket egyenértékű JPG-képekre a szükségtelen OLE-fejlécek nélkül.

Az előző oktatóanyagban láttuk, hogyan használható a FileUpload vezérlő. Ezért brosúrafájlokat adhat hozzá a webkiszolgáló fájlrendszeréhez. Ezzel azonban nem frissíti a BrochurePath táblázat oszlopát Categories . A következő oktatóanyagban látni fogjuk, hogyan lehet ezt elvégezni, de egyelőre manuálisan kell megadni az oszlop értékeit.

Ebben az oktatóanyag letöltésében hét PDF brosúrát talál a ~/Brochures mappában, egyet az egyes kategóriákhoz, kivéve a Tenger gyümölcseit. Szándékosan kihagytam egy Tenger gyümölcsei brosúrát, amely bemutatja, hogyan kezelhetők olyan helyzetek, amikor nem minden rekord rendelkezik bináris adatokkal. Ha frissíteni szeretné a táblázatot ezekkel az Categories értékekkel, kattintson a jobb gombbal a csomópontra a Categories Kiszolgálókezelőben, és válassza a Táblaadatok megjelenítése parancsot. Ezután adja meg a brosúrával rendelkező kategóriák brosúrafájljainak virtuális elérési útját az 1. ábrán látható módon. Mivel nincs brosúra a Tenger gyümölcsei kategóriához, hagyja meg BrochurePath oszlopának értékét NULL.

Adja meg manuálisan a Categories Table s BrosúraPath oszlop értékeit

1. ábra: Adja meg manuálisan a Categories táblázat BrochurePath oszlopának értékeit (kattintson ide a teljes méretű kép megtekintéséhez)

BrochurePath A táblázathoz Categories megadott értékekkel készen állunk egy GridView létrehozására, amely felsorolja az egyes kategóriákat, valamint egy hivatkozást a kategória brosúrája letöltéséhez. A 4. lépésben kiterjesztjük ezt a GridView-t a kategória képének megjelenítésére is.

Először húzzon egy GridView-t az eszköztárból a DisplayOrDownloadData.aspx oldalon található BinaryData mappa Tervezőjére. Állítsa be a GridView tulajdonságait ID értékre Categories, majd a GridView intelligens címkéjén keresztül válassza ki, hogy egy új adatforráshoz kösse. Pontosabban kösse hozzá egy ObjectDataSource nevű CategoriesDataSource objektumhoz, amely adatokat kér le az CategoriesBLL objektum metódusával GetCategories() .

Új, CategoriesDataSource nevű ObjectDataSource létrehozása

2. ábra: Új ObjectDataSource névvel ellátott CategoriesDataSource objektum létrehozása (ide kattintva megtekintheti a teljes méretű képet)

Az ObjectDataSource konfigurálása a CategoriesBLL osztály használatára

3. ábra: Az ObjectDataSource konfigurálása az CategoriesBLL osztály használatára (kattintson ide a teljes méretű kép megtekintéséhez)

A Kategóriák listájának lekérése a GetCategories() metódussal

4. ábra: A kategóriák listájának lekérése a GetCategories() módszerrel (kattintson ide a teljes méretű kép megtekintéséhez)

Az Adatforrás konfigurálása varázsló befejezése után a Visual Studio automatikusan hozzáad egy BoundFieldet a Categories GridView-hoz az CategoryID, CategoryName, Description, NumberOfProductsés BrochurePathDataColumn s értékhez. Folytassa, és távolítsa el a NumberOfProducts BoundFieldet, mivel a GetCategories() metódus lekérdezése nem kéri le ezeket az információkat. Távolítsa el a CategoryID BoundFieldet is, és nevezze át a CategoryName és a BrochurePath BoundFields tulajdonságokat Kategóriának és Brosúrának, ennek megfelelően. A módosítások elvégzése után a GridView és az ObjectDataSource deklaratív korrektúrája a következőképpen fog kinézni:

<asp:GridView ID="Categories" runat="server" 
    AutoGenerateColumns="False" DataKeyNames="CategoryID"
    DataSourceID="CategoriesDataSource" EnableViewState="False">
    <Columns>
        <asp:BoundField DataField="CategoryName" HeaderText="Category" 
            SortExpression="CategoryName" />
        <asp:BoundField DataField="Description" HeaderText="Description" 
            SortExpression="Description" />
        <asp:BoundField DataField="BrochurePath" HeaderText="Brochure" 
            SortExpression="BrochurePath" />
    </Columns>
</asp:GridView>
<asp:ObjectDataSource ID="CategoriesDataSource" runat="server" 
    OldValuesParameterFormatString="original_{0}"
    SelectMethod="GetCategories" TypeName="CategoriesBLL">
</asp:ObjectDataSource>

Tekintse meg ezt a lapot egy böngészőben (lásd az 5. ábrát). A nyolc kategória mindegyike szerepel a listában. Az BrochurePath értékkel rendelkező hét kategória BrochurePath értéke az adott BoundFieldben jelenik meg. Tenger gyümölcsei, amelynek NULL értéke BrochurePathvan, üres cellát jelenít meg.

Minden kategória neve, leírása és BrosúraPath-értéke szerepel a listában

5. ábra: Minden kategória neve, leírása és BrochurePath értéke szerepel a listában (kattintson ide a teljes méretű kép megtekintéséhez)

Az oszlop szövegének BrochurePath megjelenítése helyett a brosúra hivatkozását szeretnénk létrehozni. Ehhez távolítsa el a BrochurePath BoundFieldet, és cserélje le egy HyperLinkFieldre. Állítsa be az új HyperLinkField HeaderText tulajdonságát a következőre: Brosúra, a Text tulajdonságát a következőre: Brosúra megtekintése, és a DataNavigateUrlFields tulajdonságát a következőre: BrochurePath.

Addjon hozzá egy HyperLinkField-et a BrochurePath-hoz

6. ábra: HyperLinkField hozzáadása a következőhöz: BrochurePath

Ez hozzáad egy oszlopot a GridView-hoz, ahogy a 7. ábra mutatja. A Brosúra megtekintése hivatkozásra kattintva a PDF közvetlenül a böngészőben jelenik meg, vagy megkéri a felhasználót, hogy töltse le a fájlt attól függően, hogy telepítve van-e a PDF-olvasó és a böngésző beállításai.

A kategória brosúrái a Brosúra megtekintése hivatkozásra kattintva tekinthetők meg

7. ábra: A kategória brosúrái a Brosúra megtekintése hivatkozásra kattintva tekinthetők meg (ide kattintva megtekintheti a teljes méretű képet)

Megjelenik a kategória PDF-brosúrája

8. ábra: Megjelenik a kategória brosúra PDF-fájlja (kattintson ide a teljes méretű kép megtekintéséhez)

Brosúra nélküli kategóriák brosúraszövegének elrejtése

A 7. ábra szerint a BrochurePath HyperLinkField az összes rekordhoz megjeleníti a Text tulajdonságértéket (Brosúra megtekintése), függetlenül attól, hogy létezik-e nem NULL érték a BrochurePath számára. Természetesen, ha BrochurePath igen NULL, akkor a hivatkozás csak szövegként jelenik meg, ahogyan a Tenger gyümölcsei kategória esetében is (lásd a 7. ábrát). A szöveges nézetben megjelenő brosúra helyett jó lehet, ha ezek a kategóriák érték nélkül BrochurePath is megjelenítenek néhány helyettesítő szöveget, például nem elérhető brosúrát.

Ennek a viselkedésnek a biztosításához olyan TemplateFieldet kell használnunk, amelynek tartalma egy lap metódusának hívásával jön létre, amely az érték alapján bocsátja ki a BrochurePath megfelelő kimenetet. Ezt a formázási technikát először a GridView Control oktatóanyag Sablonmezők használata című oktatóanyagában fedeztük fel.

A HyperLinkField sablonmezővé alakításához jelölje ki a BrochurePath HyperLinkFieldet, majd kattintson az Oszlopok szerkesztése párbeszédpanelen az „Ezt a mezőt Sablonmezővé alakítás” hivatkozásra.

A HyperLinkField átalakítása Sablonmezővé

9. ábra: A HyperLinkField átalakítása sablonmezővé

Ezzel létrehoz egy TemplateFieldet ItemTemplate, amely tartalmaz egy HyperLink webvezérlőt, amelynek NavigateUrl tulajdonsága az BrochurePath értékhez van kötve. Cserélje le ezt a korrektúrát a metódus GenerateBrochureLinkhívására, amely a következő értéknek felel meg BrochurePath:

<asp:TemplateField HeaderText="Brochure">
    <ItemTemplate>
        <%# GenerateBrochureLink(Eval("BrochurePath")) %>
    </ItemTemplate>
</asp:TemplateField>

Ezután hozzon létre egy metódust Protected a ASP.NET lap kód mögötti GenerateBrochureLink osztályában, amely egy String bemeneti paramétert Object ad vissza és fogad el.

Protected Function GenerateBrochureLink(BrochurePath As Object) As String
    If Convert.IsDBNull(BrochurePath) Then
        Return "No Brochure Available"
    Else
        Return String.Format("<a href="{0}">View Brochure</a>", _
            ResolveUrl(BrochurePath.ToString()))
    End If
End Function

Ez a módszer meghatározza, hogy az átadott Object érték adatbázis NULL-e, és ha igen, akkor egy üzenetet ad vissza, amely jelzi, hogy a kategória nem tartalmaz brosúrát. Ellenkező esetben, ha van BrochurePath érték, az hivatkozásként jelenik meg. Vegye figyelembe, hogy ha az BrochurePath érték jelen van, az átkerül a ResolveUrl(url) metódusba. Ez a metódus feloldja az átadott URL-címet, és lecseréli a karaktert ~ a megfelelő virtuális elérési útra. Ha például az alkalmazás gyökerezik, /Tutorial55 akkor a függvény visszaadja a következőtResolveUrl("~/Brochures/Meats.pdf")/Tutorial55/Brochures/Meat.pdf: .

A 10. ábrán a módosítások alkalmazása után látható a lap. Vegye figyelembe, hogy a Tenger gyümölcsei kategória s BrochurePath mezőjében megjelenik a "Nincs brosúra elérhető" szöveg.

A

10. ábra: A brosúra nélküli kategóriákhoz elérhető szöveg brosúra nélkül jelenik meg (kattintson ide a teljes méretű kép megtekintéséhez)

3. lépés: Weblap hozzáadása kategória képének megjelenítéséhez

Amikor egy felhasználó meglátogat egy ASP.NET lapot, megkapja a ASP.NET lap HTML-címét. A kapott HTML csak szöveg, és nem tartalmaz bináris adatokat. Minden további bináris adat, például képek, hangfájlok, Macromedia Flash-alkalmazások, beágyazott Windows Media Player-videók és így tovább, különálló erőforrásokként léteznek a webkiszolgálón. A HTML hivatkozásokat tartalmaz ezekre a fájlokra, de nem tartalmazza a fájlok tényleges tartalmát.

A HTML-ben például az <img> elem egy képre hivatkozik, és az src attribútum a képfájlra mutat:

<img src="MyPicture.jpg" ... />

Amikor egy böngésző megkapja ezt a HTML-t, egy másik kérést intéz a webkiszolgálóhoz a képfájl bináris tartalmának lekérésére, amelyet aztán megjelenít a böngészőben. Ugyanez a fogalom vonatkozik minden bináris adatra. A 2. lépésben a brosúra nem lett elküldve a böngészőbe az oldal HTML-korrektúrája részeként. Ehelyett a renderelt HTML olyan hivatkozásokat adott meg, amelyek kattintáskor a böngésző közvetlenül kérték a PDF-dokumentumot.

Az adatbázisban található bináris adatok megjelenítéséhez vagy letöltésének engedélyezéséhez létre kell hoznunk egy külön weblapot, amely visszaadja az adatokat. Az alkalmazáshoz csak egy bináris adatmező van tárolva közvetlenül az adatbázisban a kategória képeként. Ezért olyan lapra van szükségünk, amely meghívásakor egy adott kategória képadatait adja vissza.

Adjon hozzá egy új ASP.NET lapot a BinaryData nevű DisplayCategoryPicture.aspxmappához. Ha így tesz, hagyja bejelöletlenül a Mesteroldal jelölőnégyzetet. Ez a lap egy CategoryID értéket vár a lekérdezési sztringben, és visszaadja az adott kategória s Picture oszlopának bináris adatait. Mivel ez a lap bináris adatokat ad vissza, és semmi mást, a HTML szakaszban nincs szükség korrektúrára. Ezért kattintson a bal alsó sarokban található Forrás fülre, és távolítsa el az összes oldal korrektúrát az <%@ Page %> irányelv kivételével. Vagyis a DisplayCategoryPicture.aspx deklaratív korrektúra egyetlen sorból áll:

<%@ Page Language="VB" AutoEventWireup="true" 
    CodeFile="DisplayCategoryPicture.aspx.vb" 
    Inherits="BinaryData_DisplayCategoryPicture" %>

Ha látja a MasterPageFile attribútumot a <%@ Page %> irányelvben, távolítsa el.

A lap mögötti kódosztályban adja hozzá a következő kódot az Page_Load eseménykezelőhöz:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim categoryID As Integer = _
        Convert.ToInt32(Request.QueryString("CategoryID"))
    ' Get information about the specified category
    Dim categoryAPI As New CategoriesBLL()
    Dim categories As Northwind.CategoriesDataTable = _
        categoryAPI.GetCategoryWithBinaryDataByCategoryID(categoryID)
    Dim category As Northwind.CategoriesRow = categories(0)
    ' Output HTTP headers providing information about the binary data
    Response.ContentType = "image/bmp"
    ' Output the binary data
    ' But first we need to strip out the OLE header
    Const OleHeaderLength As Integer = 78
    Dim strippedImageLength As Integer = _
        category.Picture.Length - OleHeaderLength
    Dim strippedImageData(strippedImageLength) As Byte
    Array.Copy(category.Picture, OleHeaderLength, _
        strippedImageData, 0, strippedImageLength)
    Response.BinaryWrite(strippedImageData)
End Sub

Ez a kód a lekérdezési érték egy CategoryID nevű categoryIDváltozóba való beolvasásával kezdődik. Ezután a rendszer az CategoriesBLL osztály GetCategoryWithBinaryDataByCategoryID(categoryID) metódusának hívásával lekéri a képadatokat. Ezeket az adatokat a Response.BinaryWrite(data) metódussal adja vissza az ügyfélnek a rendszer, de mielőtt ezt meghívnánk, el kell távolítani az Picture OLE oszlopfejléc értéket. Ez egy Byte olyan tömb strippedImageData létrehozásával érhető el, amely pontosan 78 karakterrel kevesebbet fog tárolni, mint ami az Picture oszlopban található. A Array.Copy módszerrel az adatokat a category.Picture 78. pozíciójától strippedImageData másoljuk.

A Response.ContentType tulajdonság megadja a visszaadott tartalom MIME-típusát , hogy a böngésző tudja, hogyan jelenítse meg. Mivel a Categories táblázat oszlopa Picture bitkép, a bitkép MIME-típusa itt használatos (kép/bmp). Ha kihagyja a MIME-típust, a legtöbb böngésző továbbra is megfelelően jeleníti meg a képet, mert a rendszerképfájl bináris adatainak tartalma alapján következtethet a típusra. Érdemes azonban a MIME típust is figyelembe venni, ha lehetséges. A MIME-médiatípusok teljes listáját az Internet Assigned Numbers Authority webhelyén talál.

Miután ez a lap létrejött, egy adott kategória képe megtekinthető a DisplayCategoryPicture.aspx?CategoryID=categoryID felkeresésével. A 11. ábrán az Italok kategória képe látható, amelyet a következőből DisplayCategoryPicture.aspx?CategoryID=1 lehet megtekinteni.

Az italok kategóriájának képe megjelenik

11. ábra: Megjelenik az Italkategória képe (ide kattintva megtekintheti a teljes méretű képet)

Ha a látogatás DisplayCategoryPicture.aspx?CategoryID=categoryID során kivételt kap, amely arról szól, hogy nem sikerült a 'System.DBNull' típusú objektumot 'System.Byte[]' típusúvá átalakítani, két dolog okozhatja ezt. Először is, a Categories tábla Picture oszlopa engedélyezi a NULL értékeket. A DisplayCategoryPicture.aspx lap azonban azt feltételezi, hogy nincsNULL jelen érték. A PictureCategoriesDataTable tulajdonsága nem érhető el közvetlenül, ha NULL értéke van. Ha engedélyezni szeretné NULL az Picture oszlop értékeit, a következő feltételt kell megadnia:

If category.IsPictureNull() Then
    ' Display some "No Image Available" picture
    Response.Redirect("~/Images/NoPictureAvailable.gif")
Else
    ' Send back the binary contents of the Picture column
    ' ... Set ContentType property and write out ...
    ' ... data via Response.BinaryWrite ...
End If

A fenti kód feltételezi, hogy van néhány képfájl a NoPictureAvailable.gif mappában Images , amelyet kép nélkül szeretne megjeleníteni az adott kategóriákhoz.

Ezt a kivételt akkor is okozhatja, ha az CategoriesTableAdapter s GetCategoryWithBinaryDataByCategoryID metódus s SELECT utasítása visszaállt a fő lekérdezés oszloplistájára, ami akkor fordulhat elő, ha alkalmi SQL-utasításokat használ, és újra futtatja a TableAdapter fő lekérdezéséhez tartozó varázslót. Ellenőrizze, hogy az GetCategoryWithBinaryDataByCategoryID s SELECT metódus utasítása tartalmazza-e az oszlopot Picture .

Megjegyzés:

Minden alkalommal, amikor megtekintik az DisplayCategoryPicture.aspx adatbázist, a megadott kategória képadatai lesznek visszaadva. Ha a kategória képe nem változott, mióta a felhasználó utoljára megtekintette, ez azonban felesleges munka. Szerencsére a HTTP lehetővé teszi a feltételes GET-eket. Feltételes GET esetén a HTTP-kérést küldő ügyfél egy If-Modified-Since HTTP-fejléc mentén küldi el azt a dátumot és időpontot, amikor az ügyfél utoljára lekérte ezt az erőforrást a webkiszolgálóról. Ha a tartalom a megadott dátum óta nem változott, a webkiszolgáló a Nem módosított állapotkóddal (304) válaszolhat, és lemondhat a kért erőforrás tartalmának visszaküldéséről. Röviden, ez a technika mentesíti a webkiszolgálót attól, hogy tartalmat küldjön vissza egy erőforráshoz, ha az nem lett módosítva, mivel az ügyfél legutóbb hozzáfért hozzá.

Ennek a viselkedésnek a megvalósításához azonban hozzá kell adnia egy PictureLastModified oszlopot a táblához, Categories amely rögzíti az oszlop utolsó frissítésének Picture időpontját, valamint a If-Modified-Since fejléc kereséséhez szükséges kódot. A fejlécről és a If-Modified-Since feltételes GET munkafolyamatról további információt az RSS-hackerekhez készült HTTP Feltételes GET és a HTTP-kérések ASP.NET oldalon történő végrehajtásának mélyebb áttekintése című témakörben talál.

4. lépés: A kategóriaképek megjelenítése GridView-ban

Most, hogy rendelkezünk egy weblappal egy adott kategória képének megjelenítéséhez, megjeleníthetjük azt a Kép webvezérlő elemmel vagy egy HTML-<img>elemmel, amely erre DisplayCategoryPicture.aspx?CategoryID=categoryIDmutat. Azok a képek, amelyek URL-címét adatbázisadatok határozzák meg, megjeleníthetők a GridView-ban vagy a DetailsView-ban az ImageField használatával. Az ImageField olyan DataImageUrlField és DataImageUrlFormatString tulajdonságokat tartalmaz, amelyek hasonlóan működnek, mint a HyperLinkField DataNavigateUrlFields és DataNavigateUrlFormatString tulajdonságai.

Bővítsük a Categories GridView-t DisplayOrDownloadData.aspx úgy, hogy hozzáadunk egy ImageFieldet az egyes kategóriák képének megjelenítéséhez. Egyszerűen adja hozzá az ImageFieldet, és állítsa be annak DataImageUrlField és DataImageUrlFormatString tulajdonságainak CategoryIDDisplayCategoryPicture.aspx?CategoryID={0}értékét. Ez egy olyan GridView-oszlopot hoz létre, amely egy <img> elemet jelenít meg, aminek a src attribútuma DisplayCategoryPicture.aspx?CategoryID={0}-re hivatkozik, és amelyben a {0} helyére a GridView sor CategoryID értéke kerül.

ImageField hozzáadása a GridView-hoz

12. ábra: Képmező hozzáadása a GridView-hoz

Az ImageField hozzáadása után a GridView deklaratív szintaxisának a következőképpen kell kinéznie:

<asp:GridView ID="Categories" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="CategoryID" DataSourceID="CategoriesDataSource" 
    EnableViewState="False">
    <Columns>
        <asp:BoundField DataField="CategoryName" HeaderText="Category" 
            SortExpression="CategoryName" />
        <asp:BoundField DataField="Description" HeaderText="Description" 
            SortExpression="Description" />
        <asp:TemplateField HeaderText="Brochure">
            <ItemTemplate>
                <%# GenerateBrochureLink(Eval("BrochurePath")) %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:ImageField DataImageUrlField="CategoryID" 
            DataImageUrlFormatString="DisplayCategoryPicture.aspx?CategoryID={0}">
        </asp:ImageField>
    </Columns>
</asp:GridView>

Szánjon egy kis időt a lap megtekintésére egy böngészőben. Figyelje meg, hogy mostantól minden rekord tartalmaz egy képet a kategóriához.

A kategória képe minden sorhoz megjelenik

13. ábra: Minden sorhoz megjelenik a kategória képe (ide kattintva megtekintheti a teljes méretű képet)

Összefoglalás

Ebben az oktatóanyagban a bináris adatok bemutatását vizsgáltuk meg. Az adatok megjelenítési módjától függ az adatok típusa. A PDF-brosúrák esetében felajánlottuk a felhasználónak a Brosúra megtekintése hivatkozást, amely kattintáskor közvetlenül a PDF-fájlba vitte a felhasználót. A kategória képéhez először létrehoztunk egy lapot, amely lekéri és visszaadja a bináris adatokat az adatbázisból, majd ezen a lapon jelenítettük meg az egyes kategóriaképeket egy GridView-ban.

Most, hogy megvizsgáltuk, hogyan jeleníthetők meg bináris adatok, készen állunk annak vizsgálatára, hogyan hajthat végre beszúrásokat, frissítéseket és törléseket az adatbázison a bináris adatokkal. A következő oktatóanyagban azt vizsgáljuk meg, hogyan társíthat egy feltöltött fájlt a megfelelő adatbázisrekordhoz. Az ezt követő oktatóanyagban megtudhatja, hogyan frissítheti a meglévő bináris adatokat, valamint hogyan törölheti a bináris adatokat a társított rekord eltávolításakor.

Boldog programozást!

Tudnivalók a szerzőről

Scott Mitchell, hét ASP/ASP.NET-könyv szerzője és a 4GuysFromRolla.com alapítója, 1998 óta dolgozik a Microsoft webtechnológiáival. Scott független tanácsadóként, edzőként és íróként dolgozik. Legújabb könyve Sams Tanuld meg ASP.NET 2.0 24 óra alatt. Ő itt elérhető mitchell@4GuysFromRolla.com.

Külön köszönet

Ezt az oktatóanyag-sorozatot sok hasznos véleményező áttekintette. Az oktatóanyag vezető véleményezői Teresa Murphy és Dave Gardner voltak. Szeretné áttekinteni a közelgő MSDN-cikkeimet? Ha igen, írj egy sort a mitchell@4GuysFromRolla.com-ra.