Assembly: System.Web (in System.Web.dll)
When the DataKeyNames property is set, the GridView control automatically creates a DataKey object for each row in the control using the value or values of the specified field or fields. The DataKey objects are then added to the control's DataKeys collection. Normally, the DataKeys property is used to retrieve the DataKey object for a specific data row in the GridView control. However, if you just need to retrieve the DataKey object of the currently selected row, you can simply use the property as a shortcut.
This is the same as retrieving the DataKey object at the index specified by the SelectedIndex property from the DataKeys collection. You can also use the SelectedValue property to retrieve the data key value for the currently selected row directly.
If you are creating a ControlParameter object and want to access a key field other than the first field, use the indexed property in the PropertyName property of the ControlParameter object. An example is shown below.
The following example demonstrates how to use the property to determine the data key value of the selected row in a GridView control.
The following example demonstrates how to use the second key field as a parameter in a master/detail scenario. A GridView control is used to display records from the Order Details table of the Northwind database. When a record is selected in the GridView control, the details of the product from the Products table are displayed in a DetailsView control. ProductID is the second key name in the GridView control. To access the second key, the value of GridView1.SelectedDataKey is used as the PropertyName for the ControlParameter object of the SqlDataSource control of the DetailsView control.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2