Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证是否在asp:ListBox中选择了特定选项的最佳方法是什么?_C#_Asp.net - Fatal编程技术网

C# 验证是否在asp:ListBox中选择了特定选项的最佳方法是什么?

C# 验证是否在asp:ListBox中选择了特定选项的最佳方法是什么?,c#,asp.net,C#,Asp.net,我有一个包含多个值的asp:ListBox。用户需要始终在此框中选择一个特定项目,也可以选择其他项目 最好的方法是什么 提前谢谢 我要做的是在表单提交时进行一些javascript验证,然后进行服务器端验证,以确保他们提交的内容是有效的 您也可以使用自定义验证控件来完成此操作,然后只需检查以确保页面在回发时有效。我要做的是在表单提交时执行一些javascript验证,然后执行服务器端验证以确保他们提交的内容有效 您还可以使用自定义验证控件来完成此操作,然后只需检查以确保该页面在回发时有效。我认为

我有一个包含多个值的asp:ListBox。用户需要始终在此框中选择一个特定项目,也可以选择其他项目

最好的方法是什么


提前谢谢

我要做的是在表单提交时进行一些javascript验证,然后进行服务器端验证,以确保他们提交的内容是有效的


您也可以使用自定义验证控件来完成此操作,然后只需检查以确保页面在回发时有效。

我要做的是在表单提交时执行一些javascript验证,然后执行服务器端验证以确保他们提交的内容有效


您还可以使用自定义验证控件来完成此操作,然后只需检查以确保该页面在回发时有效。

我认为ASP.Net验证器中的任何一个都符合您的要求,您需要使用
CustomValdiator
并编写服务器和客户端代码来执行验证

例如:

ASPX
我认为ASP.Net验证器中没有一个符合您的要求,您需要的是使用
CustomValdiator
并编写服务器和客户端代码来执行验证

例如:

ASPX
谢谢,这就成功了。如果存在JavaScript验证,验证背后的代码有什么意义?这只是为了防止JavaScript由于任何原因无法正确验证吗?因为用户可以在浏览器中禁用JavaScript,从而绕过Validaton。在客户端和服务器中进行验证始终是一种最佳做法。谢谢,这就成功了。如果存在JavaScript验证,验证背后的代码有什么意义?这只是为了防止JavaScript由于任何原因无法正确验证吗?因为用户可以在浏览器中禁用JavaScript,从而绕过Validaton。在客户端和服务器中进行验证始终是最佳做法
<script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    function clientValidate(sender, args) {
        args.IsValid = false;
        $("#" + sender.controltovalidate + " option:selected").each(function (index, item) {
            if ($(this).text() == "QuestionText1") {
                args.IsValid = true;
                return;
            }
        });
    }
</script>


    <asp:ListBox runat="server"
        SelectionMode="Multiple" ID="lb" AppendDataBoundItems="false"
        DataTextField="QuestionText" DataValueField="ID"
     >
        <asp:ListItem Text="text1" />
        <asp:ListItem Text="text2" />
    </asp:ListBox>
    <br />
    <br />
    <asp:CustomValidator ErrorMessage="errormessage" ControlToValidate="lb"
        ClientValidationFunction="clientValidate"
        OnServerValidate="cv_ServerValidate"
        runat="server" ID="cv" />
    <asp:Button Text="text" runat="server" />
    protected void cv_ServerValidate(object sender, ServerValidateEventArgs e)
    {
        e.IsValid = false;
        foreach (ListItem item in this.lb.Items)
        {
            if (item.Selected)
            {
                if (item.Text.ToLower().Trim() == "questiontext1")
                {
                    e.IsValid = true;
                    break;
                }
            }
        }
    }