禁用 ASP.net 树视图复选框

2023-12-09

你们如何有条件地禁用 ASP 树视图中的复选框?

例如,如果应用程序用户没有特定权限,请禁用权限树视图中的该权限条目复选框。

这就是我正在寻找的内容,这是 winform 应用程序中的等效项(文本灰显的复选框被禁用):

enter image description here

我看到了其他解决方案,其中复选框上的单击事件被拦截并忽略。我更喜欢将复选框简单设置为禁用的解决方案。

我正在寻找 C# 解决方案,但对 C#/Javascript 解决方案感到满意。

Thanks!


好的,找到了一个相当干净的解决方案:

在代码隐藏中:

TreeNode newNode = new TreeNode(permission.ToString());
newNode.SelectAction = TreeNodeSelectAction.None; // no Link

    if (shouldDisableCheckbox)
    {
        // Set a class so disabled nodes can be formatted thru CSS
        // and be identifiable as disabled in Javascript.
        newNode.Text = "<span class=disabledTreeviewNode>" + newNode.Text +"</span>";
    }

nodes.Add (newNode);

在 Javascript 中,扫描所有树视图节点以查找具有该 className 的节点并禁用与它们关联的复选框:

    // Called via a startup script created in Code Behind.
    // Disables all treeview checkboxes that have a text with a class=disabledTreeviewNode.
    // treeviewID is the ClientID of the treeView
    function DisableCheckBoxes(treeviewID)
    {
        TREEVIEW_ID = treeviewID;

        var treeView = document.getElementById(TREEVIEW_ID);

        if (treeView)
        {
            var childCheckBoxes = treeView.getElementsByTagName("input");
            for (var i = 0; i < childCheckBoxes.length; i++)
            {
                var textSpan = GetCheckBoxTextSpan(childCheckBoxes[i]);

                if (textSpan.firstChild)
                    if (textSpan.firstChild.className == "disabledTreeviewNode")
                        childCheckBoxes[i].disabled = true;
            }
        }
    }

function GetCheckBoxTextSpan(checkBox)
{
    // Set label text to node name
    var parentDiv = checkBox.parentNode;
    var nodeSpan = parentDiv.getElementsByTagName("span");

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

禁用 ASP.net 树视图复选框 的相关文章

随机推荐

  • 最新的“ADT BUNDLE”作为 Windows 7 64 位的 JUNO eclipse 打开

    我下载了最新的 adt 包 adt bundle windows x86 64 20140624 并解压缩了该 zip 文件 但是当我尝试打开该 adt 时 它以 juno eclipse 的形式打开 任何人都可以帮助我解决这个问题 提前致
  • Oracle SQL。获取两个日期之间的日期

    我有一个包含两个日期列的表 如何获取这两个日期之间的日期并将它们一一列出 这是测试脚本 CREATE TABLE t1 AS SELECT DATE 2020 1 31 AS startdate DATE 2020 2 3 AS endda
  • 如何通过在Python中的分隔符上拆分键来从字典创建嵌套字典?

    我有一个如下的字典 a customer name bob customer phone 555 1212 order 0 number A33432 24 order 0 date 12 12 12 order 1 number asd2
  • 如何使用 SOAP Web 服务并在 Windows Phone 应用程序中显示数据

    我正在为 Windows 应用程序构建我的第一个应用程序 我的要求是 单击按钮时我想导航到另一个页面 并且在该页面中我希望通过执行 xml 解析直接从肥皂网络服务显示数据 按钮事件代码 private void button1 Click
  • 如何在tensorflow中将字典转换为张量

    这是我的字典 docs computer 1 1 3 5 8 2 politics 0 2 1 2 3 1 我想创建一个9 2 tensor像这样 0 1 0 5 0 0 0 0 2 2 2 0 1 0 0 0 0 0 0 在这里 因为最大
  • 字典或 If 语句、Jython

    我现在正在编写一个脚本 它将使用 dom4j 从 HTML 中获取某些信息 由于 Python Jython 没有原生的switch声明我决定使用一大堆if调用适当方法的语句 如下所示 if type extractTitle extrac
  • Pandas 替换中的严格正则表达式

    我需要写一个严格的regular expression替换我的某些值pandas数据框 这是解决我发布的问题后提出的问题here 问题是 replace idsToReplace regex True 并不严格 因此 如果 iDsToRep
  • 仅为我的 Web 应用程序配置 Azure SQL 数据库防火墙

    We use Azure 网络应用程序 with Azure SQL并希望通过配置使此设置更加安全数据库防火墙只允许来自特定网络应用程序的连接 而不是Azure 中的任何服务 如何限制仅连接到我的 Azure 服务 假设您有一个 IP 地址
  • 错误消息:模型未选择特定于语言的资源文件

    我想用西班牙语显示模型错误消息 并且我已在资源文件中定义了这些字符串 我使用 razor 语法对页面上的其他字符串执行了相同的操作 但未选取 ViewModel 注释中的字符串 它实际上是选择默认值 英语 所以我的猜测是可能未检测到语言 文
  • Hibernate 复合密钥 ID 生成器

    我的实体如下 我的数据模型强制执行以下操作 并且我无法更改引用完整性 所以我被复合键困住了 我想自动生成 使用一些生成器来生成 orderId 是的 我已阅读以下内容 http docs jboss org hibernate annota
  • PHP 中判断 URL 是否存在的最快方法是什么?

    我需要创建一个函数 该函数返回 URL 是否可访问或有效 我目前正在使用类似以下内容来确定有效的网址 static public function urlExists url fp fopen url r if fp return true
  • Mysql 5.7.20:无法从字符集“二进制”的字符串创建 JSON 值

    当我导入带有 JSON 列的表的 SQL 文件时 我遇到了这个问题 数据库有 编码 utf8mb4 整理 utf8mb4 unicode ci 这是带有 json 列的表 CREATE TABLE tracking data id int
  • 如何使用 strtotime 和 date 获取相对于今天的上个月和上一年?

    我需要获取相对于当前日期的上个月和上一年 但是 请参阅以下示例 Today is 2011 03 30 echo date Y m d strtotime last month Output 2011 03 02 这种行为是可以理解的 在某
  • Python/PyQt4:如何找到显示器的尺寸(以英寸为单位)?

    我试图找到显示器的水平宽度 以英寸或厘米为单位 不是像素 来制作一个小型 标尺 程序 DPI 也可以工作 我正在使用 PyQt4 尝试使用 QDesktopWidget 的 width 和 height 分别获取宽度和高度 类参考位于QDe
  • jQuery 冒号选择器

    在 jQuery 中有一些冒号选择器 例如 上一个 下一个 最后一个 我的问题是 它们真的是 jQuery 的一部分吗 因为它们实际上用在 DOM 元素上 我们似乎在 jQuery 中也有等效的方法prev next last 有两种不同方
  • JavaFX - 通过 GridPane 上的 OnClick 获取索引行和索引列 [重复]

    这个问题在这里已经有答案了 我需要获取名为 myGrid 的 GridPane 上指定点击的索引 如果我从我的坐标中放置一块 如下所示 它就会起作用 例如 myGrid add new ImageView othello images wh
  • 如何动态传递if语句的条件

    我遇到的情况是 我将在变量中获取比较字符串 并且我想在 IF 中使用该变量 xyz abc lt 200 Dummy Dynamic Text if xyz It should execute like if abc lt 200 echo
  • 谷歌应用程序中的rmi错误

    当我使用以下行时 我没有收到错误 FileItemIterator it servletFileUpload getItemIterator request 当我使用以下行时我得到它 List fileItemsList servletFi
  • IIS 中的应用程序池标识和 SQL Server 的集成安全性

    如果我有一个使用模拟的 ASP NET Web 应用程序和一个集成安全性 true 的 SQL Server 连接字符串 那么该应用程序的 IIS 应用程序池的标识是否起作用 是否需要将身份设置为某个特定用户 本地系统 网络服务或域用户 这
  • 禁用 ASP.net 树视图复选框

    你们如何有条件地禁用 ASP 树视图中的复选框 例如 如果应用程序用户没有特定权限 请禁用权限树视图中的该权限条目复选框 这就是我正在寻找的内容 这是 winform 应用程序中的等效项 文本灰显的复选框被禁用 我看到了其他解决方案 其中复