我在 gridview 行中有一个 onclientclick 事件,但是当我单击行上的任意位置时,我想调用服务器端方法。在不使用额外列 + 选择按钮 + onselectedindexchanged 的情况下,我怎样才能做到这一点?
谢谢
我不确定您到底想在这里完成什么,但我认为您根本不需要使用网格视图事件。我假设您将使用一些 javascript 来处理行中任意位置的点击是否正确?您可以在现有列之一中放置一个 asp 链接按钮,使用 CSS 将其隐藏,使其不可见。然后让你的javascript点击按钮。然后链接按钮可以像平常一样拥有自己的支持方法。
您可能希望链接按钮执行命令而不是 onClick,以便您可以传递行索引或数据项 ID 的命令参数。
那会处理你的情况吗?
我不认为有任何事件可以按原样使用。
您可能希望在 javascript/JQuery 中编写自定义函数以发布到您的 URL。
添加一个带有服务器端按钮单击处理程序的按钮。如果您不希望它可见,请使用 css 隐藏它 ( display: none;
)。然后,您可以为您的 GridView 表连接一个客户端单击处理程序,<tr>
并让它触发按钮的单击事件。
网格视图中的按钮:
<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();
});
});