Veritabanı Verilerinin Tablosunu Görüntüleme (VB)

Microsoft tarafından

PDF’yi İndir

Bu öğreticide, bir veritabanı kayıtları kümesini görüntülemenin iki yöntemini gösteriyorum. BIR HTML tablosunda veritabanı kayıtları kümesini biçimlendirmenin iki yöntemini gösteriyorum. İlk olarak, veritabanı kayıtlarını doğrudan bir görünüm içinde nasıl biçimlendirebileceğinizi gösteriyorum. Ardından, veritabanı kayıtlarını biçimlendirirken kısmi avantajlardan nasıl yararlanabileceğinizi gösteriyorum.

Bu öğreticinin amacı, bir ASP.NET MVC uygulamasında veritabanı verilerinin HTML tablosunu nasıl görüntüleyebileceğinizi açıklamaktır. İlk olarak, Visual Studio'da bulunan yapı iskelesi araçlarını kullanarak bir kayıt kümesini otomatik olarak görüntüleyen bir görünüm oluşturmayı öğreneceksiniz. Ardından, veritabanı kayıtlarını biçimlendirirken şablon olarak kısmi bir şablon kullanmayı öğreneceksiniz.

Model Sınıfları Oluşturma

Filmler veritabanı tablosundaki kayıt kümesini görüntüleyeceğiz. Filmler veritabanı tablosu aşağıdaki sütunları içerir:

Sütun Adı Veri Türü Null'lara İzin Ver
Id int Yanlış
Başlık Nvarchar(200) Yanlış
Yönetmen NVarchar(50) Yanlış
DateReleased DateTime Yanlış

ASP.NET MVC uygulamamızda Filmler tablosunu temsil etmek için bir model sınıfı oluşturmamız gerekir. Bu öğreticide, model sınıflarımızı oluşturmak için Microsoft Entity Framework'i kullanacağız.

Not

Bu öğreticide Microsoft Entity Framework'i kullanacağız. Ancak, LINQ to SQL, NHibernate veya ADO.NET gibi ASP.NET bir MVC uygulamasından veritabanıyla etkileşime geçmek için çeşitli teknolojiler kullanabileceğinizi anlamak önemlidir.

Varlık Veri Modeli Sihirbazı'nı başlatmak için şu adımları izleyin:

  1. Çözüm Gezgini penceresinde Modeller klasörüne sağ tıklayın ve Ekle, Yeni Öğe menü seçeneğini belirleyin.
  2. Veri kategorisini seçin ve ADO.NET Varlık Veri Modeli şablonunu seçin.
  3. Veri modelinize MoviesDBModel.edmx adını verin ve Ekle düğmesine tıklayın.

Ekle düğmesine tıkladıktan sonra Varlık Veri Modeli Sihirbazı görüntülenir (bkz. Şekil 1). Sihirbazı tamamlamak için şu adımları izleyin:

  1. Model İçeriğiNi Seçin adımında Veritabanından oluştur seçeneğini belirleyin.
  2. Veri Bağlantınızı Seçin adımında MoviesDB.mdf veri bağlantısını ve bağlantı ayarları için MoviesDBEntities adını kullanın. İleri düğmesine tıklayın.
  3. Veritabanı Nesnelerinizi Seçin adımında Tablolar düğümünü genişletin ve Filmler tablosunu seçin. Ad alanı Modelleri'ni girin ve Son düğmesine tıklayın.

LINQ to SQL sınıfları oluşturma

Şekil 01: LINQ to SQL sınıfları oluşturma (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Varlık Veri Modeli Sihirbazı'nı tamamladıktan sonra Varlık Veri Modeli Tasarım Aracı açılır. Tasarım Aracı Filmler varlığını görüntülemelidir (bkz. Şekil 2).

Varlık Veri Modeli Tasarım Aracı

Şekil 02: Varlık Veri Modeli Tasarım Aracı (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Devam etmeden önce bir değişiklik yapmalıyız. Varlık Verileri Sihirbazı, Filmler veritabanı tablosunu temsil eden Filmler adlı bir model sınıfı oluşturur. Belirli bir filmi temsil etmek için Filmler sınıfını kullanacağımızdan, sınıfın adını Filmler yerine Film (çoğul yerine tekil) olacak şekilde değiştirmemiz gerekir.

Tasarımcı yüzeyinde sınıfın adına çift tıklayın ve sınıfın adını Filmler'den Film'e değiştirin. Bu değişikliği yaptıktan sonra, Movie sınıfını oluşturmak için Kaydet düğmesine (disketin simgesi) tıklayın.

Film Denetleyicisi Oluşturma

Artık veritabanı kayıtlarımızı temsil etmenin bir yolunu elde ettiğimize göre, film koleksiyonunu döndüren bir denetleyici oluşturabiliriz. Visual Studio Çözüm Gezgini penceresinde Denetleyiciler klasörüne sağ tıklayın ve Ekle, Denetleyici menü seçeneğini belirleyin (bkz. Şekil 3).

Denetleyici Ekle menüsü

Şekil 03: Denetleyici Ekle Menüsü (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Denetleyici Ekle iletişim kutusu görüntülendiğinde, MovieController denetleyici adını girin (bkz. Şekil 4). Yeni denetleyiciyi eklemek için Ekle düğmesine tıklayın.

Denetleyici Ekle iletişim kutusu

Şekil 04: Denetleyici Ekle iletişim kutusu (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Film denetleyicisi tarafından kullanıma sunulan Index() eylemini değiştirerek veritabanı kayıtları kümesini döndürmemiz gerekir. Denetleyiciyi Liste 1'deki denetleyici gibi görünecek şekilde değiştirin.

Listeleme 1 – Controllers\MovieController.vb

Public Class MovieController

    Inherits System.Web.Mvc.Controller 

    '

    ' GET: /Movie/ 

    Function Index() As ActionResult

        Dim entities As New MoviesDBEntities()

        Return View(entities.MovieSet.ToList())

    End Function 

End Class

Liste 1'de MoviesDBEntities sınıfı, MoviesDB veritabanını temsil etmek için kullanılır. İfade varlıkları. MovieSet.ToList() , Filmler veritabanı tablosundaki tüm filmlerin kümesini döndürür.

Görünüm Oluşturma

BIR HTML tablosunda veritabanı kayıtları kümesini görüntülemenin en kolay yolu, Visual Studio tarafından sağlanan yapı iskelelerinden yararlanmaktır.

Oluştur, Çözüm Derle menü seçeneğini belirleyerek uygulamanızı derleyin. Görünüm Ekle iletişim kutusunu açmadan önce uygulamanızı oluşturmanız gerekir, aksi durumda veri sınıflarınız iletişim kutusunda görünmez.

Index() eylemine sağ tıklayın ve Görünüm Ekle menü seçeneğini belirleyin (bkz. Şekil 5).

Görünüm ekleme

Şekil 05: Görünüm ekleme (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Görünüm Ekle iletişim kutusunda, Kesin olarak yazılan görünüm oluştur etiketli onay kutusunu işaretleyin. Veri görüntüleme sınıfı olarak Movie sınıfını seçin. Görünüm içeriği olarak Liste'yi seçin (bkz. Şekil 6). Bu seçeneklerin seçilmesi, filmlerin listesini görüntüleyen kesin olarak belirlenmiş bir görünüm oluşturur.

Görünüm Ekle iletişim kutusu

Şekil 06: Görünüm Ekle iletişim kutusu (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Ekle düğmesine tıkladıktan sonra, Liste 2'deki görünüm otomatik olarak oluşturulur. Bu görünüm, film koleksiyonunda yineleme yapmak ve bir filmin özelliklerinin her birini görüntülemek için gereken kodu içerir.

Listeleme 2 – Views\Movie\Index.aspx

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of IEnumerable (Of MvcApplication1.Movie))" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

      Index

</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

    <h2>Index</h2> 

    <p>

        <%=Html.ActionLink("Create New", "Create")%>

    </p>

    <table>

        <tr>

            <th></th>

            <th>

                Id

            </th>

            <th>

                Title

            </th>

            <th>

                Director

            </th>

            <th>

                DateReleased

            </th>

        </tr> 

    <% For Each item In Model%>

        <tr>

            <td>

                <%=Html.ActionLink("Edit", "Edit", New With {.id = item.Id})%> |

                <%=Html.ActionLink("Details", "Details", New With {.id = item.Id})%>

            </td>

            <td>

                <%= Html.Encode(item.Id) %>

            </td>

            <td>

                <%= Html.Encode(item.Title) %>

            </td>

            <td>

                <%= Html.Encode(item.Director) %>

            </td>

            <td>

                <%= Html.Encode(String.Format("{0:g}", item.DateReleased)) %>

            </td>

        </tr>

    <% Next%> 

    </table> 

</asp:Content>

Hata Ayıkla, Hata Ayıklamayı Başlat menü seçeneğini belirleyerek (veya F5 tuşuna basarak) uygulamayı çalıştırabilirsiniz. Uygulamayı çalıştırmak Internet Explorer'ı başlatır. /Movie URL'sine giderseniz sayfayı Şekil 7'de görürsünüz.

Film tablosu

Şekil 07: Film tablosu (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Şekil 7'de veritabanı kayıtlarının kılavuzunun görünümü hakkında hiçbir şey beğenmezseniz Dizin görünümünü değiştirmeniz yeterlidir. Örneğin, Dizin görünümünü değiştirerek DateReleased üst bilgisini Yayın Tarihi olarak değiştirebilirsiniz.

Kısmi Şablon Oluşturma

Görünüm çok karmaşık hale geldiğinde, görünümü kısmi bölümlere ayırmaya başlamak iyi bir fikirdir. Kısmi değerleri kullanmak görünümlerinizin anlaşılmasını ve korunmasını kolaylaştırır. Film veritabanı kayıtlarının her birini biçimlendirmek için şablon olarak kullanabileceğimiz kısmi bir oluşturacağız.

Kısmi oluşturmak için şu adımları izleyin:

  1. Görünümler\Film klasörüne sağ tıklayın ve Görünüm Ekle menü seçeneğini belirleyin.
  2. Kısmi görünüm oluştur (.ascx) etiketli onay kutusunu işaretleyin.
  3. Kısmi MovieTemplate adını verin.
  4. Kesin olarak belirlenmiş bir görünüm oluştur etiketli onay kutusunu işaretleyin.
  5. Veri görüntüleme sınıfı olarak Film'i seçin.
  6. Görünüm içeriği olarak Boş'a tıklayın.
  7. Projenize kısmi eklemek için Ekle düğmesine tıklayın.

Bu adımları tamamladıktan sonra MovieTemplate kısmi öğesini Liste 3 gibi görünecek şekilde değiştirin.

Listeleme 3 – Views\Movie\MovieTemplate.ascx

<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl(Of MvcApplication1.Movie)" %>

<tr>

    <td>

        <%= Html.Encode(Model.Id) %>

    </td>

    <td>

        <%= Html.Encode(Model.Title) %>

    </td>

    <td>

        <%= Html.Encode(Model.Director) %>

    </td>

    <td>

        <%= Html.Encode(String.Format("{0:g}", Model.DateReleased)) %>

    </td>

</tr>

Liste 3'teki kısmi, tek bir kayıt satırı için bir şablon içerir.

Liste 4'teki değiştirilmiş Dizin görünümünde MovieTemplate kısmi kullanılır.

Listeleme 4 – Views\Movie\Index.aspx

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of IEnumerable (Of MvcApplication1.Movie))" %> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

    <h2>Index</h2>

    <table>

        <tr>

            <th>

                Id

            </th>

            <th>

                Title

            </th>

            <th>

                Director

            </th>

            <th>

                DateReleased

            </th>

        </tr> 

    <% For Each item In Model%> 

        <% Html.RenderPartial("MovieTemplate", item)%>

    <% Next%> 

    </table> 

</asp:Content>

Listeleme 4'teki görünüm, tüm filmlerde yineleyen her biri için döngüsünü içerir. Her film için, filmi biçimlendirmek için MovieTemplate kısmi kullanılır. MovieTemplate, RenderPartial() yardımcı yöntemi çağrılarak işlenir.

Değiştirilen Dizin görünümü, veritabanı kayıtlarının aynı HTML tablosunu işler. Ancak, görünüm büyük ölçüde basitleştirilmiştir.

RenderPartial() yöntemi, dize döndürmediğinden diğer yardımcı yöntemlerin çoğundan farklıdır. Bu nedenle, %= Html.RenderPartial() % yerine <% Html.RenderPartial() %> kullanarak <RenderPartial()> yöntemini çağırmanız gerekir.

Özet

Bu öğreticinin amacı, bir HTML tablosunda veritabanı kayıtları kümesini nasıl görüntüleyebileceğinizi açıklamaktı. İlk olarak, Microsoft Entity Framework'ten yararlanarak bir denetleyici eyleminden veritabanı kayıtları kümesini döndürmeyi öğrendinsiniz. Ardından, bir öğe koleksiyonunu otomatik olarak görüntüleyen bir görünüm oluşturmak için Visual Studio iskelesini kullanmayı öğrendinsiniz. Son olarak, kısmi bir avantajdan yararlanarak görünümü basitleştirmeyi öğrendinsiniz. Her veritabanı kaydını biçimlendirebilmek için şablon olarak kısmi kullanmayı öğrendiniz.