Abrufen und Anzeigen von Daten mit Modell Bindung und Web FormsRetrieving and displaying data with model binding and web forms

In dieser tutorialreihe werden grundlegende Aspekte der Verwendung der Modell Bindung mit einem ASP.net Web Forms-Projekt veranschaulicht.This tutorial series demonstrates basic aspects of using model binding with an ASP.NET Web Forms project. Die Modell Bindung sorgt für eine genauere Daten Interaktion als bei der Verarbeitung von Datenquellen Objekten (z. b. ObjectDataSource oder SqlDataSource).Model binding makes data interaction more straight-forward than dealing with data source objects (such as ObjectDataSource or SqlDataSource). Diese Serie beginnt mit Einführungs Material und wechselt in spätere Tutorials zu erweiterten Konzepten.This series starts with introductory material and moves to more advanced concepts in later tutorials.

Das Modell bindungsmuster funktioniert mit jeder Datenzugriffs Technologie.The model binding pattern works with any data access technology. In diesem Tutorial verwenden Sie Entity Framework, aber Sie können die Datenzugriffs Technologie verwenden, die Ihnen am meisten vertraut ist.In this tutorial, you will use Entity Framework, but you could use the data access technology that is most familiar to you. Über ein Daten gebundenes Server Steuerelement, z. b. ein GridView-, ListView-, DetailsView-oder FormView-Steuerelement, geben Sie die Namen der Methoden an, die zum auswählen, aktualisieren, löschen und Erstellen von Daten verwendet werden sollen.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 geben Sie einen Wert für die SelectMethod-Methode an.In this tutorial, you will specify a value for the SelectMethod.

Innerhalb dieser Methode stellen Sie die Logik zum Abrufen der Daten bereit.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 das gesamte Projekt in C# oder Visual Basic herunterladen .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. Dabei wird die Vorlage Visual Studio 2012 verwendet, die sich geringfügig von der in diesem Tutorial gezeigten Vorlage in Visual Studio 2017 unterscheidet.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 aus.In the tutorial you run the application in Visual Studio. Sie können die Anwendung auch für einen Hostinganbieter bereitstellen 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 einerMicrosoft offers free web hosting for up to 10 web sites in a
Kostenloses Azure-Testkonto.free Azure trial account. Informationen zum Bereitstellen eines Visual Studio-Webprojekts für die Azure App Service von Web-Apps finden Sie unter ASP.net Web Deployment using Visual Studio Series.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 erfahren Sie außerdem, wie Sie Entity Framework Code First-Migrationen zum Bereitstellen Ihrer SQL Server-Datenbank in Azure SQL-Datenbank verwenden.That tutorial also shows how to use Entity Framework Code First Migrations to deploy your SQL Server database to Azure SQL Database.

Im Tutorial verwendete Software VersionenSoftware versions used in the tutorial

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

Dieses Tutorial funktioniert auch mit Visual Studio 2012 und Visual Studio 2013. es gibt jedoch einige Unterschiede in der Benutzeroberfläche und der Projektvorlage.This tutorial also works with Visual Studio 2012 and Visual Studio 2013, but there are some differences in the user interface and project template.

Was Sie erstellenWhat you'll build

In diesem Tutorial gehen Sie wie folgt vor:In this tutorial, you'll:

  • Erstellen von Datenobjekten, die eine Universität mit Studenten widerspiegeln, die in Kursen angemeldet sindBuild data objects that reflect a university with students enrolled in courses
  • Erstellen von Datenbanktabellen aus den ObjektenBuild database tables from the objects
  • Auffüllen der Datenbank mit TestdatenPopulate the database with test data
  • Anzeigen von Daten in einem WebformularDisplay data in a web form

Erstellen eines ProjektsCreate the project

  1. Erstellen Sie in Visual Studio 2017 ein Projekt mit dem Namen " contosouniversitymodelbinding" der ASP.NET-Webanwendung (.NET Framework) .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.

    Auswählen von Web Forms

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

  4. Ändern Sie ggf. die Authentifizierung in 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.

Website Darstellung ändernModify site appearance

Nehmen Sie einige Änderungen vor, um das Erscheinungsbild der Website anzupassen.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, um die "The University " und nicht die ASP.NET-Anwendunganzuzeigen.Change the title to display Contoso University and not My ASP.NET Application.

    <title><%: Page.Title %> - Contoso University</title>
    
  3. Ändern Sie den Header Text vom Anwendungsnamen in die Datei"Configuration Manager".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 Navigations Header Links zu den entsprechenden Websites.Change the navigation header links to site appropriate ones.

    Entfernen Sie die Links für " about " und " Contact ", und verknüpfen Sie die Seite mit der Seite " Studenten ", 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.

Hinzufügen eines Webformulars zum Anzeigen von Studenten DatenAdd a web form to display student data

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

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen das Webformular mit der Vorlage Master Seite aus, und nennen Sie es 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 die Master Seite des Webformulars die Option Site. Masteraus.For the web form's master page, select Site.Master.

  5. Klicken Sie auf OK.Select OK.

Hinzufügen des DatenmodellsAdd the data model

Fügen Sie im Ordner Models eine Klasse mit dem Namen UniversityModels.cshinzu.In the Models folder, add a class named UniversityModels.cs.

  1. Klicken Sie mit der rechten Maustaste auf Modelle, und wählen Sie Hinzufügenund Neues Elementaus.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. Klicken Sie im linken Navigationsmenü auf Codeund dann auf Klasse.From the left navigation menu, select Code, then Class.

    Modell Klasse erstellen

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

    Definieren Sie in dieser Datei die Klassen SchoolContext, Student, Enrollmentund Course 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 wird von DbContextabgeleitet, die die Datenbankverbindung und die Änderungen an den Daten verwaltet.The SchoolContext class derives from DbContext, which manages the database connection and changes in the data.

    Beachten Sie in der Student-Klasse die Attribute, die auf die Eigenschaften FirstName, LastNameund Year angewendet werden.In the Student class, notice the attributes applied to the FirstName, LastName, and Year properties. In diesem Tutorial werden diese Attribute für die Datenüberprüfung verwendet.This tutorial uses these attributes for data validation. Um den Code zu vereinfachen, werden nur diese Eigenschaften mit Daten Validierungs Attributen gekennzeichnet.To simplify the code, only these properties are marked with data-validation attributes. In einem echten Projekt würden Sie Validierungs Attribute auf alle Eigenschaften anwenden, die überprüft werden müssen.In a real project, you would apply validation attributes to all properties needing validation.

  4. Speichern Sie UniversityModels.cs.Save UniversityModels.cs.

Einrichten der Datenbank auf der Grundlage von KlassenSet up the database based on classes

In diesem Tutorial werden Code First-Migrationen zum Erstellen von Objekten und Datenbanktabellen verwendet.This tutorial uses Code First Migrations to create objects and database tables. In diesen Tabellen werden Informationen zu den Studenten und deren Kursen gespeichert.These tables store information about the students and their courses.

  1. Wählen Sie Extras > nuget-Paket-Manager > Paket-Manager- Konsoleaus.Select Tools > NuGet Package Manager > Package Manager Console.

  2. Führen Sie in der Paket-Manager-Konsoleden folgenden Befehl aus:In Package Manager Console, run this command:
    enable-migrations -ContextTypeName ContosoUniversityModelBinding.Models.SchoolContext

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

    Migrationen aktivieren

    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, mit der die Datenbanktabellen mit Testdaten vorab aufgefüllt werden können.The Configuration class has a Seed method, which can pre-populate the database tables with test data.

Vorab Auffüllen der DatenbankPre-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 den ContosoUniversityModelBinding. Models-Namespace hinzu.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. Speichern Sie Configuration.cs.Save Configuration.cs.

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

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

    Wenn Sie beim Ausführen dieses Befehls eine Ausnahme erhalten, können sich die Werte für StudentID und CourseID von den Werten der Seed-Methode unterscheiden.If you receive an exception when running this command, the StudentID and CourseID values might be different from the Seed method values. Öffnen Sie diese Datenbanktabellen, und suchen Sie nach vorhandenen Werten für StudentID und CourseID.Open those database tables and find existing values for StudentID and CourseID. Fügen Sie diese Werte dem Code für das Seeding der Enrollments Tabelle hinzu.Add those values to the code for seeding the Enrollments table.

Hinzufügen eines GridView-Steuer ElementsAdd a GridView control

Mit aufgefüllten Datenbankdaten sind Sie nun bereit, diese 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 den MainContent Platzhalter.Locate the MainContent placeholder. Fügen Sie innerhalb dieses Platzhalters ein GridView -Steuerelement hinzu, das diesen 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 den Wert, der für die SelectMethod-Eigenschaft im GridView-Element festgelegt wurde.Notice the value set for the SelectMethod property in the GridView element. Dieser Wert gibt die Methode an, die zum Abrufen von GridView-Daten verwendet wird, 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-Eigenschaft wird auf die zuvor erstellte Student Klasse festgelegt.The ItemType property is set to the Student class created earlier. Diese Einstellung ermöglicht es Ihnen, auf Klasseneigenschaften im Markup zu verweisen.This setting allows you to reference class properties in the markup. Die Student-Klasse verfügt beispielsweise über eine Auflistung mit dem Namen Enrollments.For example, the Student class has a collection named Enrollments. Sie können Item.Enrollments verwenden, um diese Auflistung abzurufen, und dann die LINQ-Syntax verwenden, um die registrierten Gutschriften des Studenten abzurufen.You can use Item.Enrollments to retrieve that collection and then use LINQ syntax to retrieve each student's enrolled credits sum.

  3. Speichern Sie students. aspx.Save Students.aspx.

Hinzufügen von Code zum Abrufen von DatenAdd code to retrieve data

Fügen Sie in der Code Behind-Datei students. aspx die für den SelectMethod Wert angegebene Methode hinzu.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. Fügen Sie using-Anweisungen für die ContosoUniversityModelBinding. Models-und System.Data.Entity-Namespaces hinzu.Add using statements for the ContosoUniversityModelBinding. Models and System.Data.Entity namespaces.

    using ContosoUniversityModelBinding.Models;
    using System.Data.Entity;
    
  3. Fügen Sie die für SelectMethodangegebene Methode hinzu: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 verbessert die Abfrageleistung, ist aber nicht erforderlich.The Include clause improves query performance but isn't required. Ohne die Include-Klausel werden die Daten mithilfe Lazy Loadingabgerufen. Dies umfasst das Senden einer separaten Abfrage an die Datenbank, wenn verknüpfte 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 werden Daten mithilfe Eager Loadingabgerufen, was bedeutet, dass eine einzelne Datenbankabfrage alle zugehörigen Daten abruft.With the Include clause, data is retrieved using eager loading, which means a single database query retrieves all related data. Wenn verwandte Daten nicht verwendet werden, 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. In diesem Fall bietet Eager Loading jedoch die beste Leistung, da die zugehörigen 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 Leistungs Überlegungen beim Laden von verknüpften Daten finden Sie im Artikel Lazy, eifrig und Explizites Laden verwandter Daten im Artikel Lesen verwandter Daten mit dem Entity Framework in einer ASP.NET MVC-Anwendung .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 werden die Daten nach den Werten der als Schlüssel markierten Eigenschaft sortiert.By default, the data is sorted by the values of the property marked as the key. Sie können eine OrderBy-Klausel hinzufügen, um einen anderen Sortier Wert anzugeben.You can add an OrderBy clause to specify a different sort value. In diesem Beispiel wird die standardmäßige StudentID-Eigenschaft zum Sortieren verwendet.In this example, the default StudentID property is used for sorting. Im Artikel Sortieren, Paging und Filtern von Daten ist der Benutzer in der Lage, eine Spalte für die Sortierung auszuwählen.In the Sorting, Paging, and Filtering Data article, the user is enabled to select a column for sorting.

  4. Speichern Sie students.aspx.cs.Save Students.aspx.cs.

Ausführen der AnwendungRun your application

Führen Sie Ihre Webanwendung (F5) aus, und navigieren Sie zur Seite " Studenten ", auf der Folgendes angezeigt wird:Run your web application (F5) and navigate to the Students page, which displays the following:

Daten anzeigen

Automatische Generierung von Modell BindungsmethodenAutomatic generation of model binding methods

Wenn Sie diese tutorialreihe durcharbeiten, können Sie einfach den Code aus dem Tutorial in Ihr 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 die von Visual Studio bereitgestellte Funktion möglicherweise nicht kennen, um automatisch Code für Modell Bindungsmethoden zu generieren.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. Wenn Sie an Ihren eigenen Projekten arbeiten, können Sie mithilfe der automatischen Codegenerierung Zeit sparen und einen Eindruck davon gewinnen, wie ein Vorgang implementiert wird.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. In diesem Abschnitt wird das Feature zur automatischen Codegenerierung beschrieben.This section describes the automatic code generation feature. Dieser Abschnitt dient nur zu Informationszwecken und enthält keinen Code, 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.

Wenn Sie einen Wert für die Eigenschaften SelectMethod, UpdateMethod, InsertMethododer DeleteMethod im Markup Code festlegen, können Sie die Option neue Methode erstellen auswählen.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 einer Methode

Visual Studio erstellt nicht nur eine Methode im Code-Behind mit der richtigen Signatur, sondern generiert auch Implementierungs Code, 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 die ItemType-Eigenschaft festlegen, bevor Sie die Funktion zur automatischen Codegenerierung verwenden, verwendet der generierte Code diesen Typ 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. Wenn Sie z. b. die UpdateMethod-Eigenschaft festlegen, wird der folgende Code 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 dem Projekt nicht 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 Hinzufügen neuer Daten.In the next tutorial, you'll implement methods for updating, deleting, and adding new data.

SummarySummary

In diesem Tutorial haben Sie Datenmodell Klassen erstellt und eine Datenbank aus diesen Klassen generiert.In this tutorial, you created data model classes and generated a database from those classes. Sie haben die Datenbanktabellen mit Testdaten ausgefüllt.You filled the database tables with test data. Sie haben die Modell Bindung verwendet, um Daten aus der Datenbank abzurufen, und dann die Daten in einer GridView angezeigt.You used model binding to retrieve data from the database, and then displayed the data in a GridView.

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