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#函数(如代码中的测试函数) 怎么做 感谢
答案 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页面方法。