gpt4 book ai didi

c# - TreeView 验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:27 25 4
gpt4 key购买 nike

TreeView 有叶节点复选框。我需要验证 TreeView 如果至少检查了一个节点,并且用户可以选择的节点数不超过特定数量(比如 3 个节点)。注意:Treeview 是 asp.net TreeView (不是 ajax TreeView )

最佳答案

好吧,既然你没有提到你想要什么类型的验证,我会做客户端和服务器端。我的 TreeView 名为 tvTest
首先,向您的 Asp.Net 页面添加一个 CustomValidator:

<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="ClientValidate"
ErrorMessage="CustomValidator" Display="Dynamic" OnServerValidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>

注意:不要设置ControlToValidate 属性。
接下来,添加此脚本(也添加到您的 Asp.Net 页面)以进行客户端验证:

<script type="text/javascript">

function ClientValidate(source, arguments) {
var treeView = document.getElementById("<%= tvTest.ClientID %>");
var checkBoxes = treeView.getElementsByTagName("input");
var checkedCount = 0;
for (var i = 0; i < checkBoxes.length; i++) {
if (checkBoxes[i].checked) {
checkedCount++;
}
}
if (checkedCount > 0 && checkedCount < 4) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}

</script>

最后,将此添加到您的代码隐藏以进行服务器端验证:

protected void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) {
if (tvTest.CheckedNodes.Count > 0 && tvTest.CheckedNodes.Count < 4) {
args.IsValid = true;
} else {
args.IsValid = false;
}
}

当然,您需要更改用户可以检查的最小和最大节点数的限制。

关于c# - TreeView 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1048231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com