当我点击一行的任何地方时,我可以使用哪个gridview事件服务器端?

时间:2012-11-05 17:36:32

标签: c# asp.net gridview

我在gridview行中有一个onclientclick事件,但是当我点击一行的任何地方时,我想调用一个服务器端方法。如何在不使用额外列+选择按钮+ onselectedindexchanged?

的情况下完成此操作

谢谢

3 个答案:

答案 0 :(得分:2)

我不确定你到底想要完成什么,但我认为你根本不需要使用网格视图事件。我假设你要使用一些javascript来处理行中任何地方的点击正确吗?您可以使用CSS在其中一个现有列中放置一个asp链接按钮来隐藏它,使其不可见。然后让你的javascript点击按钮。然后链接按钮可以拥有它自己的支持方法,就像正常一样。

您可能希望让链接按钮执行命令而不是onClick,这样您就可以传递行索引或数据项Id的命令参数。

那会处理你的情况吗?

答案 1 :(得分:1)

我不认为你可以使用任何事件。

您可能希望在javascript / JQuery中编写自定义函数以发布到您的URL。

答案 2 :(得分:1)

添加一个带有服务器端按钮单击处理程序的按钮。如果您不希望它可见,请使用css将其隐藏(display: none;)。然后,您可以在<tr>上为您的GridView表连接客户端点击处理程序,并让它触发按钮的点击事件。

网格视图中的按钮:

<asp:LinkButton runat="server" CssClass="row-button" OnClick="ServerSideClickHandler" Text="Click me"/>

Css隐藏按钮:

.row-button { display: none; }

使用jQuery的客户端处理程序:

$(document).ready(function() {
  $("tr").click(function() {
    $(".row-button", this).click();
  });
});