Abrufen und Anzeigen von Daten mit modellbindung und Web formsRetrieving and displaying data with model binding and web forms

Diese tutorialreihe veranschaulicht die grundlegenden Aspekte der Verwendung von modellbindung mit einem ASP.NET Web Forms-Projekt.This tutorial series demonstrates basic aspects of using model binding with an ASP.NET Web Forms project. Modellbindung, wird die dateninteraktion mehr geradlinigere als Umgang mit Data Source-Objekte (z. B. "ObjectDataSource" oder SqlDataSource-Steuerelement).Model binding makes data interaction more straight-forward than dealing with data source objects (such as ObjectDataSource or SqlDataSource). Diese Serie beginnt mit einführendes Material und verschiebt in späteren Tutorials zu erweiterten Konzepten übergegangen.This series starts with introductory material and moves to more advanced concepts in later tutorials.

Der Modell-bindungsmuster funktioniert mit jedem datenzugriffstechnologie.The model binding pattern works with any data access technology. In diesem Tutorial verwenden Sie Entity Framework, jedoch können Sie die neue datenzugriffstechnologie, die Sie bereits bekannt ist.In this tutorial, you will use Entity Framework, but you could use the data access technology that is most familiar to you. Von einem datengebundenen Serversteuerelement, z. B. eine GridView, ListView, DetailsView oder FormView-Steuerelement geben Sie den Namen der Methoden zum auswählen, aktualisieren, löschen und Erstellen von Daten verwendet.From a data-bound server control, such as a GridView, ListView, DetailsView, or FormView control, you specify the names of the methods to use for selecting, updating, deleting, and creating data. In diesem Tutorial werden Sie einen Wert für die SelectMethod angeben.In this tutorial, you will specify a value for the SelectMethod.

In dieser Methode geben Sie die Logik zum Abrufen der Daten.Within that method, you provide the logic for retrieving the data. Im nächsten Tutorial legen Sie Werte für UpdateMethod, DeleteMethod und InsertMethod fest.In the next tutorial, you will set values for UpdateMethod, DeleteMethod and InsertMethod.

Sie können herunterladen in das vollständige Projekt C# oder Visual Basic.You can download the complete project in C# or Visual Basic. Der herunterladbare Code funktioniert mit Visual Studio 2012 und höher.The downloadable code works with Visual Studio 2012 and later. Er verwendet die Visual Studio 2012-Vorlage, die unterscheidet sich etwas von der Visual Studio 2017-Vorlage, die in diesem Tutorial gezeigt wird.It uses the Visual Studio 2012 template, which is slightly different than the Visual Studio 2017 template shown in this tutorial.

In diesem Tutorial führen Sie die Anwendung in Visual Studio.In the tutorial you run the application in Visual Studio. Sie können auch Bereitstellen der Anwendung bei einem Hostinganbieter und über das Internet verfügbar machen.You can also deploy the application to a hosting provider and make it available over the internet. Microsoft bietet kostenloses Webhosting für bis zu 10 Websites in einemMicrosoft offers free web hosting for up to 10 web sites in a
Kostenloses Azure-Testkonto.free Azure trial account. Informationen dazu, wie Sie ein Visual Studio-Webprojekt für Azure App Service-Web-Apps bereitstellen, finden Sie unter den ASP.NET-webbereitstellung mithilfe von Visual Studio Reihe.For information about how to deploy a Visual Studio web project to Azure App Service Web Apps, see the ASP.NET Web Deployment using Visual Studio series. In diesem Tutorial wird gezeigt, wie Entity Framework Code First-Migrationen zu verwenden, um Ihre SQL Server-Datenbank in Azure SQL-Datenbank bereitzustellen.That tutorial also shows how to use Entity Framework Code First Migrations to deploy your SQL Server database to Azure SQL Database.

Softwareversionen, die in diesem Tutorial verwendet werden.Software versions used in the tutorial

  • Microsoft Visual Studio 2017 "oder" Microsoft Visual Studio Community 2017Microsoft Visual Studio 2017 or Microsoft Visual Studio Community 2017

In diesem Tutorial funktioniert auch mit Visual Studio 2012 und Visual Studio 2013, aber es gibt einige Unterschiede in der Vorlage "Benutzer"-Schnittstelle und Projekt.This tutorial also works with Visual Studio 2012 and Visual Studio 2013, but there are some differences in the user interface and project template.

Sie lernen FolgendesWhat you'll build

In diesem Tutorial müssen Sie folgende Aktionen ausführen:In this tutorial, you'll:

  • Erstellen Sie Datenobjekte, die eine Universität mit Schüler/Studenten, die Lehrveranstaltungen widerspiegeln.Build data objects that reflect a university with students enrolled in courses
  • Erstellen von Tabellen aus den ObjektenBuild database tables from the objects
  • Auffüllen der Datenbank mit TestdatenPopulate the database with test data
  • Anzeigen von Daten in einem Web formDisplay data in a web form

Erstellen eines ProjektsCreate the project

  1. Erstellen Sie in Visual Studio 2017 eine ASP.NET-Webanwendung ((.NET Framework) -Projekt namens ContosoUniversityModelBinding.In Visual Studio 2017, create a ASP.NET Web Application (.NET Framework) project called ContosoUniversityModelBinding.

    Projekt erstellen

  2. Klicken Sie auf OK.Select OK. Das Dialogfeld zum Auswählen einer Vorlage wird angezeigt.The dialog box to select a template appears.

    Wählen Sie die Web forms

  3. Wählen Sie die Web Forms Vorlage.Select the Web Forms template.

  4. Ändern Sie die Authentifizierung, bei Bedarf einzelne Benutzerkonten.If necessary, change the authentication to Individual User Accounts.

  5. Klicken Sie auf OK, um das Projekt zu erstellen.Select OK to create the project.

Erscheinungsbild der Website geändert werden.Modify site appearance

Stellen Sie einige Änderungen an den Standort Darstellung anpassen.Make a few changes to customize site appearance.

  1. Öffnen Sie die Datei Site.Master.Open the Site.Master file.

  2. Ändern Sie den Titel anzuzeigende Contoso University und nicht My ASP.NET Application.Change the title to display Contoso University and not My ASP.NET Application.

    <title><%: Page.Title %> - Contoso University</title>
    
  3. Ändern Sie den Headertext von Anwendungsname zu Contoso University.Change the header text from Application name to Contoso University.

    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" runat="server" href="~/">Contoso University</a>
    </div>
    
  4. Ändern Sie die Header-Navigationslinks, auf die entsprechende anpassen.Change the navigation header links to site appropriate ones.

    Entfernen Sie die Links, um zu und wenden Sie sich an und verknüpfen Sie stattdessen mit einem Schüler/Studenten Seite, die Sie erstellen möchten.Remove the links for About and Contact and, instead, link to a Students page, which you will create.

    <ul class="nav navbar-nav">
        <li><a runat="server" href="~/">Home</a></li>
        <li><a runat="server" href="~/Students">Students</a></li>
    </ul>
    
  5. Speichern Sie Site.Master.Save Site.Master.

Fügen Sie ein Webformular zum Anzeigen der StudentendatenAdd a web form to display student data

  1. In Projektmappen-Explorermit der rechten Maustaste auf das Projekt, wählen Sie hinzufügen und dann neues Element.In Solution Explorer, right-click your project, select Add and then New Item.

  2. In der neues Element hinzufügen wählen Sie im Dialogfeld die Webformular mit Gestaltungsvorlage Vorlage und nennen Sie sie Students.aspx.In the Add New Item dialog box, select the Web Form with Master Page template and name it Students.aspx.

    Seite erstellen

  3. Wählen Sie Hinzufügen aus.Select Add.

  4. Wählen Sie für das Web Form die Masterseite Site.Master.For the web form's master page, select Site.Master.

  5. Klicken Sie auf OK.Select OK.

Datenmodell hinzufügenAdd the data model

In der Modelle Ordner, fügen Sie eine Klasse, die mit dem Namen UniversityModels.cs.In the Models folder, add a class named UniversityModels.cs.

  1. Mit der rechten Maustaste ModelleOption hinzufügen, und klicken Sie dann neues Element.Right-click Models, select Add, and then New Item. Das Dialogfeld Neues Element hinzufügen wird angezeigt.The Add New Item dialog box appears.

  2. Wählen Sie im linken Navigationsmenü im Code, klicken Sie dann Klasse.From the left navigation menu, select Code, then Class.

    Erstellen von Model-Klasse

  3. Nennen Sie die Klasse UniversityModels.cs , und wählen Sie hinzufügen.Name the class UniversityModels.cs and select Add.

    In dieser Datei definieren die SchoolContext, Student, Enrollment, und Course Klassen wie folgt:In this file, define the SchoolContext, Student, Enrollment, and Course classes as follows:

    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.ComponentModel.DataAnnotations;
    
    namespace ContosoUniversityModelBinding.Models
    {
        public class SchoolContext : DbContext
        {
            public DbSet<Student> Students { get; set; }
            public DbSet<Enrollment> Enrollments { get; set; }
            public DbSet<Course> Courses { get; set; }
        }
    
        public class Student
        {
            [Key, Display(Name = "ID")]
            [ScaffoldColumn(false)]
            public int StudentID { get; set; }
    
            [Required, StringLength(40), Display(Name="Last Name")]
            public string LastName { get; set; }
    
            [Required, StringLength(20), Display(Name = "First Name")]
            public string FirstName { get; set; }
    
            [EnumDataType(typeof(AcademicYear)), Display(Name = "Academic Year")]
            public AcademicYear Year { get; set; }
    
            public virtual ICollection<Enrollment> Enrollments { get; set; }
        }
    
        public class Enrollment
        {
            [Key]
            public int EnrollmentID { get; set; }
            public int CourseID { get; set; }
            public int StudentID { get; set; }
            public decimal? Grade { get; set; }
            public virtual Course Course { get; set; }
            public virtual Student Student { get; set; }
        }
    
        public class Course
        {
            [Key]
            public int CourseID { get; set; }
            public string Title { get; set; }
            public int Credits { get; set; }
            public virtual ICollection<Enrollment> Enrollments { get; set; }
        } 
    
        public enum AcademicYear
        {
            Freshman,
            Sophomore,
            Junior,
            Senior
        }
    }
    

    Die SchoolContext Klasse leitet sich von DbContext, die Verbindung mit der Datenbank verwaltet und Änderungen in den Daten.The SchoolContext class derives from DbContext, which manages the database connection and changes in the data.

    In der Student Klasse, beachten Sie, dass Attribute angewendet werden, um die FirstName, LastName, und Year Eigenschaften.In the Student class, notice the attributes applied to the FirstName, LastName, and Year properties. Dieses Tutorial verwendet diese Attribute für die datenüberprüfung.This tutorial uses these attributes for data validation. Um den Code zu vereinfachen, werden nur diese Eigenschaften mit datenvalidierung Attributen markiert.To simplify the code, only these properties are marked with data-validation attributes. In einem echten Projekt würde Sie Validierungsattribute, die allen Eigenschaften, die Validierung erforderlich anwenden.In a real project, you would apply validation attributes to all properties needing validation.

  4. Save UniversityModels.cs.Save UniversityModels.cs.

Richten Sie die Datenbank auf Basis von KlassenSet up the database based on classes

Dieses Tutorial verwendet Code First-Migrationen Objekte erstellen und Datenbanktabellen.This tutorial uses Code First Migrations to create objects and database tables. Diese Tabellen speichern Informationen über die Schüler/Studenten und ihre Kurse.These tables store information about the students and their courses.

  1. Wählen Sie Tools > NuGet Paket-Manager > Paket-Manager Konsole.Select Tools > NuGet Package Manager > Package Manager Console.

  2. In -Paket-Manager-Konsole, führen Sie diesen Befehl:In Package Manager Console, run this command:
    enable-migrations -ContextTypeName ContosoUniversityModelBinding.Models.SchoolContext

    Wenn der Befehl erfolgreich abgeschlossen wurde, Meldung eine darauf hinweist, dass Migrationen aktiviert wurden.If the command completes successfully, a message stating migrations have been enabled appears.

    Aktivieren von Migrationen

    Beachten Sie, dass eine Datei mit dem Namen Configuration.cs erstellt wurde.Notice that a file named Configuration.cs has been created. Die Configuration -Klasse verfügt über eine Seed -Methode, die die Datenbanktabellen mit Testdaten vorab auffüllen kann.The Configuration class has a Seed method, which can pre-populate the database tables with test data.

Die Datenbank vorab auffüllenPre-populate the database

  1. Öffnen Sie Configuration.cs.Open Configuration.cs.

  2. Fügen Sie der Seed -Methode folgenden Code hinzu.Add the following code to the Seed method. Fügen Sie außerdem eine using -Anweisung für die ContosoUniversityModelBinding. Models Namespace.Also, add a using statement for the ContosoUniversityModelBinding. Models namespace.

    namespace ContosoUniversityModelBinding.Migrations
    {
        using System;
        using System.Data.Entity;
        using System.Data.Entity.Migrations;
        using System.Linq;
        using ContosoUniversityModelBinding.Models;
    
        internal sealed class Configuration : DbMigrationsConfiguration<SchoolContext>
        {
            public Configuration()
            {
                AutomaticMigrationsEnabled = false;
            }
    
            protected override void Seed(SchoolContext context)
            {
    
                context.Students.AddOrUpdate(
                     new Student { 
                         FirstName = "Carson", 
                         LastName = "Alexander", 
                         Year = AcademicYear.Freshman },
                     new Student { 
                         FirstName = "Meredith", 
                         LastName = "Alonso", 
                         Year = AcademicYear.Freshman },
                     new Student { 
                         FirstName = "Arturo", 
                         LastName = "Anand", 
                         Year = AcademicYear.Sophomore },
                     new Student { 
                         FirstName = "Gytis", 
                         LastName = "Barzdukas", 
                         Year = AcademicYear.Sophomore },
                     new Student { 
                         FirstName = "Yan", 
                         LastName = "Li", 
                         Year = AcademicYear.Junior },
                     new Student { 
                         FirstName = "Peggy", 
                         LastName = "Justice", 
                         Year = AcademicYear.Junior },
                     new Student { 
                         FirstName = "Laura", 
                         LastName = "Norman", 
                         Year = AcademicYear.Senior },
                     new Student { 
                         FirstName = "Nino", 
                         LastName = "Olivetto", 
                         Year = AcademicYear.Senior }
                     );
    
                context.SaveChanges();
    
                context.Courses.AddOrUpdate(
                    new Course { Title = "Chemistry", Credits = 3 },
                    new Course { Title = "Microeconomics", Credits = 3 },
                    new Course { Title = "Macroeconomics", Credits = 3 },
                    new Course { Title = "Calculus", Credits = 4 },
                    new Course { Title = "Trigonometry", Credits = 4 },
                    new Course { Title = "Composition", Credits = 3 },
                    new Course { Title = "Literature", Credits = 4 }
                    );
    
                context.SaveChanges();
    
                context.Enrollments.AddOrUpdate(
                    new Enrollment { StudentID = 1, CourseID = 1, Grade = 1 },
                    new Enrollment { StudentID = 1, CourseID = 2, Grade = 3 },
                    new Enrollment { StudentID = 1, CourseID = 3, Grade = 1 },
                    new Enrollment { StudentID = 2, CourseID = 4, Grade = 2 },
                    new Enrollment { StudentID = 2, CourseID = 5, Grade = 4 },
                    new Enrollment { StudentID = 2, CourseID = 6, Grade = 4 },
                    new Enrollment { StudentID = 3, CourseID = 1 },
                    new Enrollment { StudentID = 4, CourseID = 1 },
                    new Enrollment { StudentID = 4, CourseID = 2, Grade = 4 },
                    new Enrollment { StudentID = 5, CourseID = 3, Grade = 3 },
                    new Enrollment { StudentID = 6, CourseID = 4 },
                    new Enrollment { StudentID = 7, CourseID = 5, Grade = 2 }
                    );
    
                context.SaveChanges();
            }
        }
    }
    
  3. Configuration.cs zu speichern.Save Configuration.cs.

  4. Führen Sie in der Paket-Manager-Konsole den Befehl hinzufügen-Migration Initial.In the Package Manager Console, run the command add-migration initial.

  5. Führen Sie den Befehl Update-Database.Run the command update-database.

    Wenn ein Fehler, beim Ausführen dieses Befehls auftritt, der StudentID und CourseID Werte möglicherweise sich von der Seed Methode Werte.If you receive an exception when running this command, the StudentID and CourseID values might be different from the Seed method values. Öffnen Sie die Datenbanktabellen und suchen Sie die vorhandenen Werte für StudentID und CourseID.Open those database tables and find existing values for StudentID and CourseID. Fügen Sie diese Werte auf den Code für das seeding der Enrollments Tabelle.Add those values to the code for seeding the Enrollments table.

Hinzufügen einer GridView-SteuerelementAdd a GridView control

Mit Datenbankdaten aufgefüllten können Sie nun die Daten abzurufen und anzuzeigen.With populated database data, you're now ready to retrieve that data and display it.

  1. Öffnen Sie Students.aspx.Open Students.aspx.

  2. Suchen Sie die MainContent Platzhalter.Locate the MainContent placeholder. In dieser Platzhalter Hinzufügen einer GridView -Steuerelement, das dieser Code enthält.Within that placeholder, add a GridView control that includes this code.

    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
        <asp:GridView runat="server" ID="studentsGrid"
            ItemType="ContosoUniversityModelBinding.Models.Student" DataKeyNames="StudentID" 
            SelectMethod="studentsGrid_GetData"
            AutoGenerateColumns="false">
            <Columns>
                <asp:DynamicField DataField="StudentID" />
                <asp:DynamicField DataField="LastName" />
                <asp:DynamicField DataField="FirstName" />
                <asp:DynamicField DataField="Year" />          
                <asp:TemplateField HeaderText="Total Credits">
                  <ItemTemplate>
                    <asp:Label Text="<%# Item.Enrollments.Sum(en => en.Course.Credits) %>" 
                        runat="server" />
                  </ItemTemplate>
                </asp:TemplateField>        
            </Columns>
        </asp:GridView>
    </asp:Content>
    

    Beachten Sie Folgendes:Things to note:

    • Beachten Sie, dass der Wert festgelegt wird, für die SelectMethod Eigenschaft im GridView-Element.Notice the value set for the SelectMethod property in the GridView element. Dieser Wert gibt die Methode zum Abrufen von GridView-Daten, die Sie im nächsten Schritt erstellen.This value specifies the method used to retrieve GridView data, which you create in the next step.

    • Die ItemType -Eigenschaftensatz auf die Student Klasse, die zuvor erstellt haben.The ItemType property is set to the Student class created earlier. Mit dieser Einstellung können Sie Eigenschaften der Klasse im Markup zu verweisen.This setting allows you to reference class properties in the markup. Z. B. die Student -Klasse verfügt über eine Sammlung namens Enrollments.For example, the Student class has a collection named Enrollments. Können Sie Item.Enrollments dieser Sammlung abrufen und anschließend LINQ-Syntax zum Abrufen von jedem Teilnehmer der Gutschrift Summe registriert.You can use Item.Enrollments to retrieve that collection and then use LINQ syntax to retrieve each student's enrolled credits sum.

  3. Students.aspx zu speichern.Save Students.aspx.

Fügen Sie Code zum Abrufen von DatenAdd code to retrieve data

Fügen Sie in der Students.aspx Code-Behind-Datei für die angegebene Methode der SelectMethod Wert.In the Students.aspx code-behind file, add the method specified for the SelectMethod value.

  1. Öffnen Sie Students.aspx.cs.Open Students.aspx.cs.

  2. Hinzufügen using -Anweisungen für die ContosoUniversityModelBinding. Models und System.Data.Entity Namespaces.Add using statements for the ContosoUniversityModelBinding. Models and System.Data.Entity namespaces.

    using ContosoUniversityModelBinding.Models;
    using System.Data.Entity;
    
  3. Fügen Sie die Methode, die Sie für angegebene SelectMethod:Add the method you specified for SelectMethod:

    public IQueryable<Student> studentsGrid_GetData()
    {
        SchoolContext db = new SchoolContext();
        var query = db.Students.Include(s => s.Enrollments.Select(e => e.Course));
        return query;
    }
    

    Die Include -Klausel wird die abfrageleistung verbessert, jedoch nicht erforderlich.The Include clause improves query performance but isn't required. Ohne die Include -Klausel, die Daten werden abgerufen, mithilfe von Lazy Load, hierbei ist, senden eine separate Abfrage an die Datenbank jedes Mal bezogene Daten abgerufen werden.Without the Include clause, the data is retrieved using lazy loading, which involves sending a separate query to the database each time related data is retrieved. Mit der Include -Klausel, die Daten werden abgerufen, mithilfe von Eager Load, was bedeutet, dass eine einzige Datenbankabfrage Ruft alle verknüpften Daten ab.With the Include clause, data is retrieved using eager loading, which means a single database query retrieves all related data. Verwandte Daten verwendet wird, ist eager Loading weniger effizient, da mehr Daten abgerufen werden.If related data isn't used, eager loading is less efficient because more data is retrieved. Allerdings bietet in diesem Fall unverzüglichem Laden Sie die beste Leistung daran, dass die verknüpften Daten für jeden Datensatz angezeigt werden.However, in this case, eager loading gives you the best performance because the related data is displayed for each record.

    Weitere Informationen zu Überlegungen zur Leistung beim Laden von Daten, die verknüpft werden, finden Sie unter den explizite Laden von verknüpften Daten, mittels Eager Load und Lazy im Abschnitt der verwandte Lesen von Daten mit dem Entity Framework in einer ASP.NET-Anwendung MVC-Anwendung Artikel.For more information about performance considerations when loading related data, see the Lazy, Eager, and Explicit Loading of Related Data section in the Reading Related Data with the Entity Framework in an ASP.NET MVC Application article.

    Standardmäßig ist die Daten durch die Werte der Eigenschaft als Schlüssel markiert sortiert.By default, the data is sorted by the values of the property marked as the key. Sie können Hinzufügen einer OrderBy -Klausel, um einen der anderen Art Wert angeben.You can add an OrderBy clause to specify a different sort value. In diesem Beispiel ist die Standardeinstellung StudentID Eigenschaft wird für die Sortierung verwendet.In this example, the default StudentID property is used for sorting. In der sortieren, Paging und Filtern von Daten Artikel, der Benutzer wird aktiviert, um eine Spalte für die Sortierung auswählen.In the Sorting, Paging, and Filtering Data article, the user is enabled to select a column for sorting.

  4. Students.aspx.cs zu speichern.Save Students.aspx.cs.

Führen Sie die AnwendungRun your application

Führen Sie Ihre Webanwendung (F5) und navigieren Sie zu der Schüler/Studenten Seite, das Folgendes anzeigt:Run your web application (F5) and navigate to the Students page, which displays the following:

Anzeigen von Daten

Automatische Generierung von SMO-Methoden-BindungAutomatic generation of model binding methods

Wenn dieser tutorialreihe durcharbeiten, können Sie den Code einfach aus dem Lernprogramm zu Ihrem Projekt kopieren.When working through this tutorial series, you can simply copy the code from the tutorial to your project. Ein Nachteil dieses Ansatzes ist jedoch, dass Sie nicht über die Funktion, die von Visual Studio zum automatischen Generieren von Code für die Bindung SMO-Methoden bereitgestellt werden können.However, one disadvantage of this approach is that you may not become aware of the feature provided by Visual Studio to automatically generate code for model binding methods. Bei der Arbeit an Ihre eigenen Projekte sparen automatische codegenerierung Sie Zeit und die Hilfe, die Sie wissen, wie Implementieren eines Vorgangs erhalten.When working on your own projects, automatic code generation can save you time and help you gain a sense of how to implement an operation. Dieser Abschnitt beschreibt die automatischen Code Generation-Funktion.This section describes the automatic code generation feature. In diesem Abschnitt dient nur zu Informationszwecken und keinen Code, die, den Sie in Ihrem Projekt implementieren müssen.This section is only informational and does not contain any code you need to implement in your project.

Beim Festlegen eines Werts für die SelectMethod, UpdateMethod, InsertMethod, oder DeleteMethod Eigenschaften im Markupcode, Sie können auswählen, die neue Methode erstellen Option.When setting a value for the SelectMethod, UpdateMethod, InsertMethod, or DeleteMethod properties in the markup code, you can select the Create New Method option.

Erstellen Sie eine Methode

Visual Studio nicht nur eine Methode im Code-Behind mit der richtigen Signatur erstellt, sondern generiert auch den Implementierungscode, um den Vorgang auszuführen.Visual Studio not only creates a method in the code-behind with the proper signature, but also generates implementation code to perform the operation. Wenn Sie zuerst festlegen, die ItemType Eigenschaft, bevor Sie die automatische codegenerierung mit Features, die generierten Code verwendet, die eingeben, und für die Vorgänge.If you first set the ItemType property before using the automatic code generation feature, the generated code uses that type for the operations. Beispielsweise wird beim Festlegen der UpdateMethod -Eigenschaft, den folgenden Code wird automatisch generiert:For example, when setting the UpdateMethod property, the following code is automatically generated:

// The id parameter name should match the DataKeyNames value set on the control
public void studentsGrid_UpdateItem(int id)
{
    ContosoUniversityModelBinding.Models.Student item = null;
    // Load the item here, e.g. item = MyDataLayer.Find(id);
    if (item == null)
    {
        // The item wasn't found
        ModelState.AddModelError("", String.Format("Item with id {0} was not found", id));
        return;
    }
    TryUpdateModel(item);
    if (ModelState.IsValid)
    {
        // Save changes here, e.g. MyDataLayer.SaveChanges();

    }
}

Dieser Code muss in diesem Fall nicht zu Ihrem Projekt hinzugefügt werden.Again, this code doesn't need to be added to your project. Im nächsten Tutorial implementieren Sie Methoden zum Aktualisieren, löschen und neue Daten hinzufügen.In the next tutorial, you'll implement methods for updating, deleting, and adding new data.

ZusammenfassungSummary

In diesem Tutorial erstellten Data Model-Klassen und eine Datenbank aus den Klassen generiert.In this tutorial, you created data model classes and generated a database from those classes. Sie können Tabellen der Datenbank mit Testdaten gefüllt.You filled the database tables with test data. Sie wurden die modellbindung zum Abrufen von Daten aus der Datenbank verwendet, und klicken Sie dann die Daten in einer GridView-Ansicht angezeigt.You used model binding to retrieve data from the database, and then displayed the data in a GridView.

In den nächsten Tutorial in dieser Reihe werde Sie aktivieren, aktualisieren, löschen und Erstellen von Daten.In the next tutorial in this series, you'll enable updating, deleting, and creating data.