C# C.NETGridView

C# C.NETGridView,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我有一个gridView,每行有一个选择字段。当我选择第一行时,我希望被重定向到gamers.aspx页面,但当我选择第二行时,我希望被发送到audio.aspx页面 GridViewRow row = GridView1.SelectedRow; Response.Redirect("gamers.aspx? EntityID=" + row.Cells[1].Text); GridViewRow row1 = GridView1.SelectedRow; Response.Redirect

我有一个gridView,每行有一个选择字段。当我选择第一行时,我希望被重定向到gamers.aspx页面,但当我选择第二行时,我希望被发送到audio.aspx页面

GridViewRow row = GridView1.SelectedRow;
Response.Redirect("gamers.aspx? EntityID=" + row.Cells[1].Text);

GridViewRow row1 = GridView1.SelectedRow;
Response.Redirect("audio.aspx? EntityID=" + row.Cells[2].Text);

这就是我所做的,但是当我在gridView中的任何一行中单击select时,它每次都会将我发送到gamers.aspx

Response.Redirect引发异常并几乎立即终止当前请求。所以下一个代码不会被执行


您可能应该检查选择了哪一行,然后执行第一个重定向或第二个重定向。

Response.redirect引发异常并几乎立即终止当前请求。所以下一个代码不会被执行


您可能应该检查选择的行并执行第一个重定向或第二个重定向。

如果我正确理解您的意图,建议您使用开关

GridViewRow row = GridView1.SelectedRow;
string entityID = row.Cells[1].Text;

switch (row.RowIndex)
{
    case 1:
        Response.Redirect("gamers.aspx?EntityID=" + entityID);
        break;
    case 2:
        Response.Redirect("audio.aspx?EntityID=" + entityID);
        break;
}

如果我正确理解你的意图,我建议你使用开关

GridViewRow row = GridView1.SelectedRow;
string entityID = row.Cells[1].Text;

switch (row.RowIndex)
{
    case 1:
        Response.Redirect("gamers.aspx?EntityID=" + entityID);
        break;
    case 2:
        Response.Redirect("audio.aspx?EntityID=" + entityID);
        break;
}

因为那是你让它做的。在上面代码的第二行之后不会执行任何操作。感谢您的回复,您能为这项工作提供一些建议吗?请查看答案并选中正确的答案以结束此问题。因为这是您告诉它要做的。在上面代码的第二行之后不会执行任何操作。谢谢你的回复,你能提出一些建议吗?看看答案,勾选正确的答案来结束这个问题。这就是我所拥有的:当我选择第二行或第三行时,我会进入gamers.aspx。老实说,我不确定。我有一个唯一的标识符,它是ID,我正在做这一行。单元格[1]与此相关这就是我拥有的:当我选择第二行或第三行时,它会带我到gamers.aspx老实说,我不确定。我有一个唯一的标识符,它就是ID,我正在做与之相关的row.cells[1]