Asp.net 选择行事件上的gridview

Asp.net 选择行事件上的gridview,asp.net,c#-4.0,gridview,Asp.net,C# 4.0,Gridview,如何在select row事件上执行grdiview?在源页面上,我添加了 OnSelectedIndexChanged="grdTanks_OnSelectRow" 在后面的代码中,我将函数 protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e) { } 当我尝试这样做时,grdTanks_onseRow匹配委托的“System.E

如何在select row事件上执行grdiview?在源页面上,我添加了

    OnSelectedIndexChanged="grdTanks_OnSelectRow"
在后面的代码中,我将函数

        protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e)
        {

        }
当我尝试这样做时,grdTanks_onseRow匹配委托的“System.EventHandler”不会出现重载

如果我将GridViewComandEventArgs更改为EventArgs,那么它将不允许我这样做

    if (e.CommandName == "Select")
有人知道如何为gridview举办OnSetrow活动吗?谢谢

我还添加了以下代码:

        protected void grdTanks_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowIndex != -1)
        {
            e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.background='#3260a0';;this.style.color='white'";
            if (e.Row.RowIndex % 2 == 1)
            {
                e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.background='white';this.style.color='black'";
            }
            else
            {
                e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.background='#bEc8bE';this.style.color='black'";
            }

            e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.grdTanks, "Select$" + Convert.ToString(DataBinder.Eval(e.Row.DataItem, "CargoTankID")));
        }
    }

}

我想你必须改变

 protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e)


在你的代码背后

我认为你必须改变

 protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e)

在代码隐藏中,您可以尝试以下操作:

在加载页面中,输入

grdTanks.SelectedIndexChanged += 
然后按tab键两次。Visual Studio会自动为您生成处理程序。第二个参数是EventArgs

您可以尝试以下方法:

在加载页面中,输入

grdTanks.SelectedIndexChanged += 

然后按tab键两次。Visual Studio会自动为您生成处理程序。第二个参数是EventArgs

我不确定您想在这个事件处理程序中执行什么操作。您已经在处理select事件,我认为无需再次检查e.CommandName==select.:单击行的选择按钮时,将引发SelectedIndexChanged事件。 错误表示事件没有重载,您必须使用EventArgs参数

protected void grdTanks_OnSelectRow(Object sender, EventArgs e)
{ 
   // May be you want like..
   // Get the currently selected row using the SelectedRow property.
   GridViewRow row = YourGridViewID.SelectedRow;

}

我不确定您希望在此事件处理程序中执行什么操作。您已经在处理select事件,我认为无需再次检查e.CommandName==select.:单击行的选择按钮时,将引发SelectedIndexChanged事件。 错误表示事件没有重载,您必须使用EventArgs参数

protected void grdTanks_OnSelectRow(Object sender, EventArgs e)
{ 
   // May be you want like..
   // Get the currently selected row using the SelectedRow property.
   GridViewRow row = YourGridViewID.SelectedRow;

}

实际上,我正在将现有代码从vb转换为c。这就是vb中的情况,但我现在尝试将其忽略,因为我也没有看到这样做的原因,e.CommandName==select可能是您在vb.net网格中使用onrow命令或其他命令。因为无论是使用c还是vb.net,命令参数都不应该不同。我通过在源代码页上使用OnRowCommand修复了它,在vb页上,它没有,不知道为什么…我实际上是在将现有代码从vb转换为c。这就是vb中的情况,但我现在尝试将其忽略,因为我也没有看到这样做的原因,e.CommandName==select可能是您在vb.net网格中使用onrow命令或其他命令。因为无论是使用c还是vb.net,命令参数都不应该不同。我通过在源页面上使用OnRowCommand修复了它,在vb页面上,它没有,不知道为什么…我可以访问该函数,所以这不是问题所在。我在那里放了一个断点,它碰到了断点。我试着把vb代码转换成c,所以我试着保持原样,但现在我意识到我可能需要稍微修改一下,让你使用gridview或任何其他控件,我可以访问函数,所以这不是问题所在。我在那里放了一个断点,它碰到了断点。我试着将vb代码转换成c,所以我试着保持原样,但现在我意识到我可能需要对它进行一些更改。使用gridview或任何其他控件时,你不知道你能做到这一点,这很酷,谢谢。我调用的事件处理程序被调用,只是尝试使用c中vb中的代码,它没有完全按照原样转换,这并不奇怪。不知道你能做到这一点,这很酷,谢谢。我正在调用的事件处理程序被调用,只是尝试使用c中vb中的代码,它没有完全按照原样转换,这一点也不奇怪。