Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
által Scott Mitchell
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
.
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)
2. lépés: Letöltési hivatkozás megadása a Brosúrákhoz a GridView-ban
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()
.
2. ábra: Új ObjectDataSource névvel ellátott CategoriesDataSource
objektum létrehozása (ide kattintva megtekintheti a teljes méretű képet)
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)
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 BrochurePath
DataColumn
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 BrochurePath
van, üres cellát jelenít meg.
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
.
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.
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.
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 GenerateBrochureLink
hí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 string GenerateBrochureLink(object BrochurePath)
{
if (Convert.IsDBNull(BrochurePath))
return "No Brochure Available";
else
return string.Format(@"<a href="{0}">View Brochure</a>",
ResolveUrl(BrochurePath.ToString()));
}
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.
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.aspx
mappá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="C#" AutoEventWireup="true"
CodeFile="DisplayCategoryPicture.aspx.cs"
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 void Page_Load(object sender, EventArgs e)
{
int categoryID = Convert.ToInt32(Request.QueryString["CategoryID"]);
// Get information about the specified category
CategoriesBLL categoryAPI = new CategoriesBLL();
Northwind.CategoriesDataTable categories =
categoryAPI.GetCategoryWithBinaryDataByCategoryID(categoryID);
Northwind.CategoriesRow category = 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 int OleHeaderLength = 78;
int strippedImageLength = category.Picture.Length - OleHeaderLength;
byte[] strippedImageData = new byte[strippedImageLength];
Array.Copy(category.Picture, OleHeaderLength,
strippedImageData, 0, strippedImageLength);
Response.BinaryWrite(strippedImageData);
}
Ez a kód a lekérdezési érték egy CategoryID
nevű categoryID
vá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.
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 Picture
CategoriesDataTable
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())
{
// 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 ...
}
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=categoryID
mutat. 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 CategoryID
DisplayCategoryPicture.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.
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.
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.