等待光标单击 GridView 上的自动 select 按钮

Wait cursor on click of auto select button on GridView

我有一个 asp:GridView 控件,其中第一列是用户选择行的位置(因此它在每一行上显示带下划线的“Select”)。 AutoGenerateSelectButton 设置为“True”。选择该行时,其背后的查询可能需要一些时间才能return页面上的数据,因此我想将光标设置为'wait'。问题是,在客户端,我不确定如何捕获在回发之前选择了哪一行。使用网格上的自动生成 Select,页面上的实际 HTML 是一个分配了 javascript:postback 的锚标记。

我可以轻松地为像 asp:Button 这样的控件设置等待光标,只需执行

btnButton.Attributes.Add("onclick", "document.body.style.cursor = 'wait';")

在后面的 C# 代码中,但我不确定当某人不仅单击网格而且单击 Select 超链接时如何使用 asp"GridView 控件执行类似的操作。

谢谢!

设置 AutoGenerateSelectButton=false 并改用按钮。这将替换您的 gridview 上的 select link 列,这应该允许您所需的光标功能。

<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton Text="Select" runat="server" CommandName="Select" OnClientClick="$('body').addClass('waiting');"/>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

我直接把jquery放到了客户端点击,但它也可以用在函数中。我从另一个关于 SO 的问题中找到了 javascript/css 资源。 Changing cursor to waiting in javascript/jquery

CSS:

<style>
        body.waiting * {
            cursor: progress;
        }
</style>