Это довольно легко сделать - теперь двустороннее связывание должно автоматически сделать это за вас, предполагая, что на SqlDataSource, который вы используете в качестве источника данных для вашего GridView. Вот некоторый код, который у меня есть на SqlDataSource:
UpdateCommand="UPDATE [prov] SET provname=@provname, addr=@addr, tele=@tele WHERE provID=@provID " >
<UpdateParameters>
<asp:ControlParameter ControlID="dgProviders" Name="provID" PropertyName="SelectedValue" />
<asp:Parameter Name="login" />
<asp:Parameter Name="password" />
<asp:Parameter Name="username" />
<asp:Parameter Name="contact_email" />
<asp:Parameter Name="bar_number" />
</UpdateParameters>
Теперь, если вы хотите добраться до объекта метки, то в обработчике событий Approproate вы можете использовать следующий код в качестве примера:
Protected Sub dgProviders_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgProviders.RowCommand
Select e.CommandName
Case "Search"
Dim strProvName As String = CType(Me.dgProviders.HeaderRow.FindControl("txtSearchName"), TextBox).Text
If strProvName = String.Empty Then
Me.lblResults.Text = "<span style=""color:maroon"">You have to enter a search term: part of the name to do a search.</span><br />"
Else
Me.sqlProvList.SelectParameters.Clear()
If strProvName <> String.Empty Then
Me.sqlProvList.SelectCommand = "SELECT provID, provname, addr, tele FROM prov WHERE [provname] LIKE '%' + @username + '%' ORDER BY [provname]"
Me.sqlProvList.SelectParameters.Add("username", DbType.String, strProvName)
End If
Me.dgProviders.PageIndex = 0
Session("Select") = Me.sqlProvList.SelectCommand
End If
End Select
End Sub
Это кнопка "Поиск", которая у меня есть, получая значения из текстовых полей в строке заголовка сетки данных.