单击gridview中的行

时间:2009-09-14 09:52:00

标签: c# asp.net

hiiiiiiiii 我正在尝试执行以下操作: 我有一个gridview,当我点击该行(任何地方)时,我想激活一个函数(C#函数) 这是我的代码:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

    string alertBox = "alert('";
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        alertBox +=e.Row.Cells[0].Text;
        alertBox += "')";
        e.Row.Attributes.Add("onclick", alertBox);
    }
}
public void test()
{
    Response.Write("ffff");
}

这是工作..每次我点击gridview 我发现了警报......但我想要 解雇C#函数(如代码中的测试函数) 怎么做 感谢

3 个答案:

答案 0 :(得分:3)

您可以模拟GridView命令(例如“SelectCommand”),然后捕获RowCommand event并调用您的方法。 像这样:


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
...
e.Row.Attributes.Add("onclick", "javascript:__doPostBack('" + GridView1.ClientID + "','SelectCommand$" + e.Row.RowIndex.ToString() + "')")
...
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName == "SelectCommand") {
    // ...
  }
}

答案 1 :(得分:0)

在客户端脚本中进行更改或启动回发到服务器以运行服务器方法。

答案 2 :(得分:0)

要使用回发执行代码隐藏方法,您必须手动启动回发。基本上你会在GridView控件之外连接自己的事件,因为“RowClick”事件不存在 - 请参阅Tadas的回答。

或者,您可以在没有回发的情况下执行代码隐藏方法。您可以使用Ajax回调。请参阅ASP.Net中的Ajax页面方法。