Проверьте это, мне потребовалась ровно одна секунда, чтобы найти его!
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemtemplate.aspx
Вы должны использовать
<asp:LinkButton ID="EditButton" runat="Server" Text="Edit" CommandName="Edit" />
и обработать командное событие сетки
это обычное использование:
<asp:DataGrid id="DataGrid1"
runat="server" CssClass="grid"
AutoGenerateColumns="False">
<Columns>
<asp:EditCommandColumn
EditText="Edit" CancelText="Cancel"
UpdateText="Update" />
<asp:BoundColumn
DataField="OrderID" ReadOnly="True"
HeaderText="Order ID" />
<asp:BoundColumn
DataField="ShipName" HeaderText="Ship to"
ReadOnly="True" />
<asp:BoundColumn
DataField="ShipCountry" HeaderText="Country"
ReadOnly="True" />
<asp:TemplateColumn HeaderText="Ship Method">
<ItemTemplate>
<%#Container.DataItem("ShipVia")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="Dropdownlist1"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
А вот как с этим справиться
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
Handles DataGrid1.UpdateCommand
End Sub