我有一个绑定到
在该事件处理程序的代码中,我需要以某种方式获取用户单击的底层
我已经谷歌搜索并找到了类似http://ranafaisal.wordpress.com/2008/03/31/how-to-get-the-current-row-in-gridview-row-command-event的页面,但是我找到的所有内容都不起作用。我相信我只是缺少一些明显的东西,但是我无法弄清楚是什么...
如果可以,请看一下以下ASP.NET代码:
ObjectDataSource
(该数据源绑定到MySQL数据库)的 ASP.NET GridView
。在这个网格中,我有2个未绑定的ButtonField
列,我想触发服务器端事件。因此,我添加了一个事件处理程序方法到GridView
的RowCommand
事件。在该事件处理程序的代码中,我需要以某种方式获取用户单击的底层
DataRow
。但是,我似乎无法使其工作;如果我使用以下代码,selectedRow
变量始终为null
:protected void searchResultsGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
CallDataRow selectedRow = (CallDataRow) searchResultsGridView.Rows[Convert.ToInt32(e.CommandArgument)].DataItem;
}
我已经谷歌搜索并找到了类似http://ranafaisal.wordpress.com/2008/03/31/how-to-get-the-current-row-in-gridview-row-command-event的页面,但是我找到的所有内容都不起作用。我相信我只是缺少一些明显的东西,但是我无法弄清楚是什么...
如果可以,请看一下以下ASP.NET代码:
<asp:GridView ID="searchResultsGridView" runat="server" AutoGenerateColumns="False"
DataKeyNames="PersonNo,CallDate"
Width="100%" AllowPaging="True" EnableSortingAndPagingCallbacks="True"
onrowcommand="searchResultsGridView_RowCommand" PageSize="20">
<Columns>
<asp:BoundField DataField="PersonNo" HeaderText="Account number" ReadOnly="True"
SortExpression="PersonNo" />
<asp:BoundField DataField="AgentNo" HeaderText="Agent number"
SortExpression="AgentNo" />
<asp:BoundField DataField="AgentName" HeaderText="Agent name"
SortExpression="AgentName" />
<asp:BoundField DataField="TelNumber" HeaderText="Telephone number"
SortExpression="TelNumber" />
<asp:BoundField DataField="CallDate" HeaderText="Call date/time" ReadOnly="True"
SortExpression="CallDate" />
<asp:ButtonField CommandName="play" HeaderText="Audio" ShowHeader="True"
Text="Play" />
<asp:ButtonField CommandName="download" Text="Download" />
</Columns>
</asp:GridView>