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 按钮?