This documentation is archived and is not being maintained.
LinqDataSource.Update Method
Visual Studio 2010
Performs an update operation.
Assembly: System.Web.Extensions (in System.Web.Extensions.dll)
'Declaration Public Function Update ( _ keys As IDictionary, _ values As IDictionary, _ oldValues As IDictionary _ ) As Integer
Parameters
- keys
- Type: System.Collections.IDictionary
The row key values for the records to be updated.
- values
- Type: System.Collections.IDictionary
The row values to be updated in the data source.
- oldValues
- Type: System.Collections.IDictionary
The row values that are evaluated to detect data conflicts.
The following example shows how to programmatically update a record in the data source after the user clicks a button. The code passes a ListDictionary object that contains the key value, a ListDictionary object that contains the original values, and a ListDictionary object that contains the new values to the Update method.
Protected Sub Add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim keyValues As New ListDictionary() Dim newValues As New ListDictionary() Dim oldValues As New ListDictionary() keyValues.Add("ProductID", Int32.Parse(CType(DetailsView1.FindControl("IDLabel"), Label).Text)) oldValues.Add("ProductName", CType(DetailsView1.FindControl("NameLabel"), Label).Text) oldValues.Add("ProductCategory", CType(DetailsView1.FindControl("CategoryLabel"), Label).Text) oldValues.Add("Color", CType(DetailsView1.FindControl("ColorLabel"), Label).Text) newValues.Add("ProductName", "New Product") newValues.Add("ProductCategory", "General") newValues.Add("Color", "Not assigned") LinqDataSource1.Update(keyValues, newValues, oldValues) DetailsView1.DataBind() End Sub
The following example shows the markup for the previous example.
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
EnableUpdate="true"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:DetailsView
DataSourceID="LinqDataSource1"
AllowPaging="True"
ID="DetailsView1"
runat="server" AutoGenerateRows="False">
<Fields>
<asp:templatefield HeaderText="Product ID">
<itemtemplate>
<asp:Label ID="IDLabel" runat="server" Text='<%# Bind("ProductID") %>'></asp:Label>
</itemtemplate>
</asp:templatefield>
<asp:templatefield HeaderText="Product Name">
<itemtemplate>
<asp:Label ID="NameLabel" runat="server" Text='<%# Bind("ProductName") %>'></asp:Label>
</itemtemplate>
</asp:templatefield>
<asp:templatefield HeaderText="Category">
<itemtemplate>
<asp:Label ID="CategoryLabel" runat="server" Text='<%# Bind("ProductCategory") %>'></asp:Label>
</itemtemplate>
</asp:templatefield>
<asp:templatefield HeaderText="Color">
<itemtemplate>
<asp:Label ID="ColorLabel" runat="server" Text='<%# Bind("Color") %>'></asp:Label>
</itemtemplate>
</asp:templatefield>
</Fields>
</asp:DetailsView>
<asp:button
ID="Button1"
Text="Reset with default values"
runat="server"
onclick="Add_Click" />
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: