Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 所需字段验证器无法从代码隐藏中的OnCheckedChanged事件工作_C#_Asp.net_Code Behind_Requiredfieldvalidator - Fatal编程技术网

C# 所需字段验证器无法从代码隐藏中的OnCheckedChanged事件工作

C# 所需字段验证器无法从代码隐藏中的OnCheckedChanged事件工作,c#,asp.net,code-behind,requiredfieldvalidator,C#,Asp.net,Code Behind,Requiredfieldvalidator,我正在做一些逻辑上非常简单的事情,但它不起作用 我在文本框中有一个必需的字段验证器。在选择单选按钮时,必须在文本框中有一些内容 1) 我曾尝试添加一个禁用的必填字段验证器,然后在检查radiobutton的changed事件后,启用必填字段验证器。但这不起作用 2) 我已启用所需的字段验证程序,并将文本框的文本设置为#。一旦选中radiobutton的Changed事件,我将清除文本框的文本,但rValidator仍不工作。 尝试了String.empty和同时传递值 我只在服务器端需要这个。我

我正在做一些逻辑上非常简单的事情,但它不起作用

我在文本框中有一个必需的字段验证器。在选择单选按钮时,必须在文本框中有一些内容

1) 我曾尝试添加一个禁用的必填字段验证器,然后在检查radiobutton的changed事件后,启用必填字段验证器。但这不起作用 2) 我已启用所需的字段验证程序,并将文本框的文本设置为#。一旦选中radiobutton的Changed事件,我将清除文本框的文本,但rValidator仍不工作。 尝试了String.empty和同时传递值

我只在服务器端需要这个。我的脑袋坏了好几个小时找不到出路。复制粘贴下面的代码。 任何帮助都将不胜感激

<asp:RadioButton ID="rbNAVEst"  GroupName="NAVEstimate2" runat="server" />
                                    <asp:TextBox ID="tbMonNAVEst" Text="Insert [0-100]" runat="server"></asp:TextBox> &nbsp
                        <asp:DropDownList ID="ddlNavEst2" Width="100px" runat="server">
                            <asp:ListItem> Hours </asp:ListItem>
                            <asp:ListItem> Business Days</asp:ListItem>
                            <asp:ListItem> Calendar Days</asp:ListItem>
                        </asp:DropDownList> <asp:RangeValidator
                                        ID="RangeValidator1" runat="server" Display="Dynamic" Type="Integer" ErrorMessage="Enter Values Between 0 to 100 Only" ControlToValidate="tbMonNAVEst" MaximumValue="100" MinimumValue="0"></asp:RangeValidator>
                        <br />

                          <asp:Label ID="lblBlankNAVEst2" runat="server" Width="60px"></asp:Label>
                            <asp:RadioButton ID="rbOtherNAVEst" AutoPostBack="true"  OnCheckedChanged="ClearNAVEstimate"  GroupName="NAVEstimate2" runat="server" />
                            <asp:Label ID="lblOtherNAV" runat="server" Text="Other"></asp:Label>
                            <asp:TextBox ID="tbOtherNAV" Text="#" runat="server"></asp:TextBox>
                            <asp:RequiredFieldValidator  ID="rfvNAVEStimate" Display="Dynamic" ControlToValidate="tbOtherNAV" Enabled="true" runat="server" ErrorMessage="Please Enter Values" SetFocusOnError="True"></asp:RequiredFieldValidator>
                              <br /> 

选中的radiobutton更改将触发回发,但所需的字段验证器将在客户端执行验证,这将阻止您。因此,您应该在客户端禁用所需的文件验证程序。为该单选按钮编写一个客户端onCheckedChange事件,然后在该事件中,使用javascript在客户端启用或禁用requiredfield验证器。 您可以使用下面的javascript功能

ValidatorEnable(getElelementById('#<%=rfvNAVEStimate.ClientID %>') ,fale); // this will disable the validator
ValidatorEnable(getelementbyid('#'),fale);//这将禁用验证程序
如果通过
true
。它将启用验证器

Ok伙计们。。。 如果我使用rfvNAVEstimate.ISvalidate()函数,它将被激发。。
问题解决了。。。仍然在这里发布给其他人。

如果我错了,请纠正我,但我认为我们无法为asp单选按钮编写客户端事件。在我的代码隐藏中,点击后很少会发生其他事情。在服务器端没有其他方法可以做到这一点。您可以使用jQuery为单选按钮绑定客户端事件。因此,您的客户端evnt将首先启动,然后它将进入服务器端事件。那么,是否无法在服务器端执行此操作?如果您需要的字段验证程序在那里,它将阻止任何回发。然后我认为,最好删除所需的字段验证器,并在代码中进行验证。或者,您可以做的另一件事是,使用asp.net自定义验证器,而不是必需的字段验证器。因此,对于该自定义验证器,您可以编写一个客户端或服务器端函数,并在该函数中检查单选按钮是否被选中,并基于此进行验证。
ValidatorEnable(getElelementById('#<%=rfvNAVEStimate.ClientID %>') ,fale); // this will disable the validator