我正在尝试执行以下代码,我收到错误消息:
名称'row'在当前上下文中不存在
代码
protected void wgrdSearchResult_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "edit")
{
int index = Convert.ToInt32(wgrdSearchResult.DataKeys[row.RowIndex].Value);
//int index = Int32.Parse((string)e.CommandArgument);
string CustomerID = (string)wgrdSearchResult.DataKeys[index].Values["CustomerID"];
}
}
答案 0 :(得分:1)
行未在您的方法中声明。看看这个MSDN示例,显示您似乎想要做的事情。 从上面的链接:
// Convert the row index stored in the CommandArgument
// property to an Integer.
int index = Convert.ToInt32(e.CommandArgument);
// Retrieve the row that contains the button clicked
// by the user from the Rows collection.
GridViewRow row = ContactsGridView.Rows[index];
答案 1 :(得分:0)
您尚未声明任何名为row
的变量,因此您对index
的分配失败。
答案 2 :(得分:0)
试试这个:
protected void wgrdSearchResult_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "edit")
{
int index = Convert.ToInt32(wgrdSearchResult.DataKeys[e.CommandArgument].Value);
string CustomerID = (string)wgrdSearchResult.DataKeys[e.CommandArgument].Values["CustomerID"];
}
}
您是否也可以显示GridView前端的代码?我的代码假设您有一个DataKey(即CustomerID),或者您为GridView设置了多个数据键,其中第一个数据键是一些任意“索引”,显然没有意义,从未使用过第二个键是有意义的CustomerID。