(0) exportieren Drucken
Alle erweitern

GridViewUpdateEventArgs.OldValues-Eigenschaft

Aktualisiert: November 2007

Ruft ein Wörterbuch ab, das die ursprünglichen Name-Wert-Paare für die Felder in der zu aktualisierenden Zeile enthält.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public IOrderedDictionary OldValues { get; }
/** @property */
public IOrderedDictionary get_OldValues()

public function get OldValues () : IOrderedDictionary

Eigenschaftenwert

Typ: System.Collections.Specialized.IOrderedDictionary
Ein System.Collections.Specialized.IOrderedDictionary-Objekt, das die ursprünglichen Werte der Name-Wert-Paare von Feldern in der zu aktualisierenden Zeile enthält.

Mithilfe der OldValues-Eigenschaft (Wörterbuch) können Sie auf die ursprünglichen Werte der Felder in der zu aktualisierenden Zeile zugreifen. Dieses Wörterbuch enthält alle Felder in der Zeile, mit Ausnahme der Schlüsselfelder. Die Schlüsselfelder werden in der DataKeyNames-Eigenschaft eines GridView-Steuerelements definiert.

sec8hhae.alert_note(de-de,VS.90).gifHinweis:

Sie können auf die Schlüsselfelder der Zeile zugreifen, indem Sie die Keys-Eigenschaft verwenden. Um auf die überarbeiteten Werte der Nicht-Schlüsselfelder in der Zeile zuzugreifen, verwenden Sie die NewValues-Eigenschaft.

Die OldValues-Eigenschaft wird automatisch mit den ursprünglichen Werten aller Name-Wert-Paare der Felder in der Zeile ausgefüllt. Der OldValues-Eigenschaft wird für jedes Feld in der Zeile ein separater Eintrag hinzugefügt.

Verwenden Sie für die Namensbestimmung eines Eintrags die DictionaryEntry.Key-Eigenschaft eines System.Collections.DictionaryEntry-Objekts, das im OldValues-Wörterbuch enthalten ist. Mithilfe der DictionaryEntry.Value-Eigenschaft können Sie den Wert eines Eintrags bestimmen.

Das folgende Beispiel veranschaulicht, wie Sie mithilfe der OldValues-Eigenschaft auf die ursprünglichen Werte der Felder in der zu aktualisierenden Zeile zugreifen können. Die Werte werden anschließend in eine Protokolldatei für aktualisierte Datensätze geschrieben.


<%@ Page language="C#" %>
<%@ import namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    void EmployeesGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
    {

        // Record the update operation in a log file.

        // Create the log text. 
        String logText = "";

        // Append the original field values to the log text.
        foreach (DictionaryEntry valueEntry in e.OldValues)
        {
            logText += valueEntry.Key + "=" + valueEntry.Value + ";";
        }

        // Append the text to a log file.
        StreamWriter sw;
        sw = File.AppendText(Server.MapPath(null) + "\\updatelog.txt");
        sw.WriteLine(logText);
        sw.Flush();
        sw.Close();

    }

    void EmployeesGridView_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
    {

        if (e.Exception == null)
        {
            // The update operation succeeded. Clear the message label.
            Message.Text = "";
        }
        else
        {
            // The update operation failed. Display an error message.
            Message.Text = e.AffectedRows.ToString() + " rows updated. " + e.Exception.Message;
            e.ExceptionHandled = true;
        }

    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>GridViewUpdateEventArgs OldValues Example</title>
</head>
<body>
        <form id="Form1" runat="server">

            <h3>GridViewUpdateEventArgs OldValues Example</h3>

            <asp:label id="Message"
                 forecolor="Red"          
                 runat="server"/>

            <br/>

            <!-- The GridView control automatically sets the columns     -->
            <!-- specified in the datakeynames attribute as read-only.   -->
            <!-- No input controls are rendered for these columns in     -->
            <!-- edit mode.                                              -->
            <asp:gridview id="EmployeesGridView" 
                datasourceid="EmployeesSqlDataSource"
                DataKeyNames="EmployeeID"
                autogenerateeditbutton="True" 
                onrowupdating="EmployeesGridView_RowUpdating"
                onrowupdated="EmployeesGridView_RowUpdated"   
                runat="server">
            </asp:gridview>

            <!-- This example uses Microsoft SQL Server and connects -->
            <!-- to the Northwind sample database.                   -->
            <asp:sqldatasource id="EmployeesSqlDataSource"  
                selectcommand="SELECT [EmployeeID], [LastName], [FirstName], [HireDate] FROM [Employees]"
                updatecommand="UPDATE [Employees] SET [LastName] = @LastName, [FirstName] = @FirstName, [HireDate] = @HireDate WHERE [EmployeeID] = @EmployeeID" 
                ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                runat="server" >
            </asp:sqldatasource>

        </form>
    </body>
</html>



Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft