如何在单击按钮时检查 gridview 列中复选框的状态

2023-12-07

我在gridview中使用了复选框列。单击链接按钮时,应检查 gridview 中的复选框是否已选中。如果没有选中任何复选框,则应显示警报(“至少选中一个复选框”)。


您必须向页面添加一些自定义 Javascript,以便显示客户端警报。下面是我编写的一个与名为“GridView1”的 GridView 一起使用的方法(如果您刚刚将控件拖到 ASPX 页面上,这应该是默认名称):

<script type="text/javascript">
    function ClientCheck() {
        var valid = false;
        var gv = document.getElementById("GridView1");

        for (var i = 0; i < gv.all.length; i++) {
            var node = gv.all[i];
            if (node != null && node.type == "checkbox" && node.checked) {
                valid = true;
                break;
            }
        }
        if (!valid) {
            alert("Invalid. Please select a checkbox to continue.");
        }

        return valid;
    }
</script>

你可以看到它设置了一个变量GridView控件开始,然后迭代所有子控件for环形。如果孩子是一个checkbox它是checked,然后我们设置valid变量为真。如果我们到达迭代结束并且没有找到选中的复选框,那么valid仍然为假,我们执行警报。

将此链接到您的GridView在您的 ASPX 页面上,首先将按钮列设为TemplateField并围绕LinkButton与您的客户端代码。如果您已使用设计器来设置列,则可以使用列编辑器中的“将此字段转换为 TemplateField”链接。以下是您最终得到的来源示例:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
    <Columns>
        <asp:TemplateField HeaderText="Button Field" ShowHeader="False">
            <ItemTemplate>
                <span onclick="return ClientCheck();">
                    <asp:LinkButton ID="LinkButton1" runat="server" CommandName="IDClick" Text='<%# Eval("YourDataSourceItem") %>'></asp:LinkButton>
                </span>
            </ItemTemplate>
        </asp:TemplateField>
        // ...your remaining columns...

使用TemplateField让我们添加任何我们喜欢的客户端代码。这里我们添加一个span并使用onclick打电话给我们的ClientCheck method.

如果您不介意该警报,您可以通过使用CustomValidator控制,在服务器端执行。

我希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在单击按钮时检查 gridview 列中复选框的状态 的相关文章

  • 为什么我的 ASP.NET MVC 应用程序在单个会话中多次触发 Session_Start?

    我们有一个 MVC NET 应用程序在重新启动时遇到致命错误 在 Session Start 事件处理程序中 我们将会话 id 添加到字典中 在 Session End 处理程序中 我们将其删除 考虑以下请求序列 获取主页 mvc 获取ma
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • iOS 11 getUserMedia 不起作用?

    苹果公司发表声明称getUserMedia将在 iOS 11 上完全正常运行 安装 iOS 11 Beta 版本 5 后 我确实收到一条消息 表明我的网站请求访问我的相机和麦克风 但似乎是这样的 video src window URL c
  • 路由和干净路径(无主题标签)在 angularJS 中不起作用

    伙计们 这让我发疯了 我为此奋斗了几个小时 却找不到解决方案 我知道为了从 URL 路径中清除主题标签 我需要使用 locationProvider html5Mode true 但由于某种原因 这对我来说效果不佳 我使用 tomcat 7
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • Chrome 上的 contenteditable 中未显示编辑光标

    当您打开此页面时 请参阅现场演示 http jsfiddle net gs3p1a6r 3 show 与 Chrome span span CSS myspan border 0 outline 0 JS myspan focus the
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers
  • 从另一台服务器读取 Node.js 中的大文件

    我有两台相互通信的服务器 Server1 向 Server2 请求文件的部分内容 并将收到的数据存储到一个文件中 Server2 应该接收每个请求并创建一个流管道传输数据 假设服务器2中存储的文件 目录 如下 bigfile gz bigf
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 防止在工厂方法之外实例化对象

    假设我有一个带有工厂方法的类 class A public static A newA Some code logging return new A 是否可以使用 a 来阻止此类对象的实例化new 那么工厂方法是创建对象实例的唯一方法吗 当
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序
  • 在 Javascript 中动态创建 []array

    也许这将是一个真正愚蠢的问题 但我是 JavaScript 新手 并且坚持动态创建数组 如下格式 items Date 2012 01 21T23 45 10 280Z Value 7 Date 2012 01 26T23 45 10 28
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 是否可以从全局或设备函数调用 CUDA CUBLAS 函数

    我正在尝试并行化现有应用程序 我已将大部分应用程序并行化并在 GPU 上运行 但我在将一个函数迁移到 GPU 时遇到问题 该函数使用 blas 库的函数 dtrsv 见下文 void dtrsv call N double B double
  • 在运行时使用 ref 参数创建 C# 委托类型

    我需要创建一个委托类型ref运行时参数 如果我在编译时知道参数类型 我可以使用显式委托类型声明 例如 S is some struct value type e g int or Guid delegate void VoidDelSRef
  • Kendo UI Angular:(SystemJS) 意外标记 <

    我在使用 IIS 的 ASP NET Core 解决方案上使用 VS2015 RC3 Angular2 2 0 0 每当我尝试添加新的 UI 模块 例如下拉列表或输入 时 我都会收到 SystemJS 错误 但奇怪的是我的按钮可以正常工作
  • 使用 VBA 更新 Excel 切片器选择的性能较差

    我正在使用 VBA 模拟单击 Excel 切片器 但遇到了严重的性能问题 用户单击 X 轴上带有日期的柱形图 单击某列时 会在包含日期列表的切片器中选择相应的日期 该列表将随着时间的推移而不断增长 据我所知 为非 OLAP 数据源 我的情况
  • 带圆角的矩形旋转器

    我正在尝试制作加载程序 它看起来像这样 CodePen 但我需要有圆形边框和矩形 而不是盒子 这样我就可以将我们公司的标志放置到装载机上 我尝试再制作一层 这将制作内联半径和包装器 我设置border radius and overflow
  • 将 Datagridview 值更新到数据库中

    我正在开发一个表单应用程序 用户可以从数据库获取表数据 进入可编辑的 gridviewcontrol 以便用户可以更新网格中的一些数据 当用户单击表单上的更新按钮时 更新的数据网格值应该在数据库中更新 用户可以一次更新更多列值 我第一次在数
  • MySQL 错误 1060:重复的列名 ALTER TABLE

    由于我没有创建的代码中的错误 我在查询时遇到了一些问题 query this gt db gt query ALTER TABLE DB PREFIX customer ADD customer type TINYINT 1 NOT NUL
  • Django时区感知DateTimeField默认值时区感知错误

    我正在尝试将 DateTimeField 添加到我的 django 模型中 并以最大时间戳作为默认值 我已经弄清楚 Django 中的最大时间戳是 9999 12 31 23 59 59 与我的 postgres 数据库中使用的最大时间戳不
  • 内存通常比磁盘快多少?

    IDE SCSI SSD SATA 或所有这些 我很惊讶 本文中间的图3 大数据的病理学 表示进行顺序访问时内存仅快 6 倍左右 内存为 350 Mvalues sec 而磁盘为 58 Mvalues sec 但当您进行随机访问时 速度大约
  • std::enable_if 如何工作?

    我刚刚问了这个问题 std numeric limits 作为条件 我明白用法在哪里std enable if将有条件地定义方法的返回类型 导致该方法无法编译 template
  • 按 Column.DisplayMember 对 DataGridView 进行排序

    我有一个DataGridView有几个DataGridViewComboBoxColumn实际值与 ID 相关联 但DisplayMember是查找表中的字符串对应项 我试图做到这一点 以便当我按该列排序时 排序是根据DisplayMemb
  • 适用于 SUN Solaris 和 linux 的 awk + ​​fit 语法

    需要以下方面的帮助 当我在 Linux 上运行以下命令时 它运行良好 awk v NAME MACHINE 1 NAME etc hosts 但在 SUN Solaris 上我得到以下信息 awk v NAME MACHINE 1 NAME
  • 使用 Spring 依赖注入的自定义转换器

    有没有一种方法可以在 Dozer 中定义自定义转换器 用于将一种顶级类型转换为另一种顶级类型 而另一种类型本身就是一个 Spring bean 因此可以注入其依赖项 dozer 文档建议添加以下 XML 定义
  • 如何在 ios 图表中添加标记到中心位置,同时水平滚动并增加scaleX并启用拖动

    我正在使用 Daniel Cohen Gindi 的图表框架 我通过增加scaleX值并启用拖动来水平滚动图表 如这个问题的答案中所述 快速设置我的条形图的水平滚动 我想当用户水平滚动时在中心位置添加标记 我知道每当用户拖动图表时都会调用
  • 如何更改 Zend Framework 的包含目录

    我收到以下错误消息 Warning include once Zend Db php function include once failed to open stream No such file or directory in C Ea
  • 如何将日期变量转换为java.sql.date

    我在尝试将日期变量插入数据库表时遇到困难 我的变量叫做 Date date4 date4 变量值是从具有日历选择器的文本框中读取的 为了插入日期列 我将字段类型设置为日期 preparedstmt setDate 4 date4 然而 提交
  • 检查数组是否包含其他数组的所有元素?

    我有2个数组 第二个数组必须包含第一个数组中的所有元素 如何检查 谢谢 For example array 1 Array 0 gt Email 1 gt 1 Name array 2 Array 0 gt 1 Name 1 gt In t
  • 在 msvc++ 2010 Express 中似乎找不到 std::thread

    我最近一直在阅读有关 c 的各种新添加内容 我对此感到非常兴奋 并且我已经了解了新的 std unique ptr 和 std shared ptr 对象 它们非常有用 现在我正在寻找对于我听说过的本机线程库 但似乎无法在任何地方找到它 我
  • 无法在本地有效地使用 Git

    请参见格雷格的回答 我不明白丹尼尔的声明线程完全地 为什么要手动复制文件 周围有什么吗 当然你应该只是 将它们添加到存储库中 然后查看 并根据需要进行承诺 我没看到 需要移动文件 这似乎违背了整个目的 本地结账 我目前正在使用 rsync
  • 如何在单击按钮时检查 gridview 列中复选框的状态

    我在gridview中使用了复选框列 单击链接按钮时 应检查 gridview 中的复选框是否已选中 如果没有选中任何复选框 则应显示警报 至少选中一个复选框 您必须向页面添加一些自定义 Javascript 以便显示客户端警报 下面是我编