asp.net 我可以在单击按钮后禁用数据网格排序操作吗?

Posted

技术标签:

【中文标题】asp.net 我可以在单击按钮后禁用数据网格排序操作吗?【英文标题】:asp.net Can I disable datagrid sorting action once button onclick? 【发布时间】:2017-05-11 08:47:13 【问题描述】:

我遇到了关于元素“asp:datagrid”的问题。

例如,我在我的 servlet 中声明了一个数据网格,并设置 AllowSorting="True"

我有一个按钮,比如“button1”,用于根据数据网格的选定记录将数据更新到数据库中。

请问我是否可以禁用“button1”(在 servlet 回发之前,在用户单击数据网格的标题之一进行排序后立即禁用),以防止用户提交对数据库的更新?

当单击“button1”时,我还可以禁用数据网格的排序操作(也在回发之前)吗?

非常感谢。

【问题讨论】:

【参考方案1】:

您还可以通过编程方式启用/禁用控件和事件。所以在 sort 方法中添加这个以在第一次点击后禁用排序。

DataGrid1.AllowSorting = false;

禁用控件

Button1.Enabled = false;

禁用使用 jQuery 侦听器。您可以通过将侦听器绑定到类来最简单地禁用排序链接,在本例中为SortingLink

<script type="text/javascript">
    $('#<%= Button1.ClientID %>').click(function () 
        $(this).prop('disabled', true);
    );

    $('#<%= GridView1.ClientID %> .SortingLink').click(function () 
        $(this).prop('disabled', true);
    );
</script>

【讨论】:

但是,如果我在我的 c# 程序中添加上面的代码,在 servlet 重新呈现 html 页面(在回发之后完成)之前,它们似乎对 html 元素没有影响。我的目标是在用户单击排序或单击 button1 后立即禁用 html 元素 更新了我的答案。 抱歉回复晚了,真的很难找出不同的解决方案来解决问题。顺便说一句,感谢您的回答,当我将它添加到我的 servlet 时它确实有效

以上是关于asp.net 我可以在单击按钮后禁用数据网格排序操作吗?的主要内容,如果未能解决你的问题,请参考以下文章

单击后禁用按钮

在后台处理进行时禁用 ASP.NET 按钮

如何在第一次提交(在客户端)后立即禁用 ASP.NET 按钮?

在回发期间启用/禁用 Asp.net Image 按钮

我如何在登录 asp.net core razor 之前显示加载图标或禁用按钮

单击按钮后在视图中加载数据而不重新加载页面asp.net mvc中的所有数据