asp CompareValidator上2下拉菜单

时间:2011-10-03 10:37:29

标签: .net asp.net telerik

场景:

我有以下控件:

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" />
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" />
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1"
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error"
                    Type="String" />

我不希望2 dropDowns具有相同的值,不包括“-1”,这是任何下拉列表的默认值。

我可以使用compareValidator实现这个目的吗?或者我应该使用javascript吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

单个CompareValidator本身不能满足你的需要,但你可以在那里添加另一个CompareValidator。如果为空,典型的ASP.NET DropDownList没有默认值。它基于列表中的第一项。我不确定您使用的telerik控件是否具有默认值-1,但如果它们确实如此,则可以为每个下拉列表添加一个或两个CompareValidator并设置ValueToCompare属性,并检查NotEqual:

<asp:CompareValidator ID="cv3" runat="server" ValidationGroup="g1" 
ControlToValidate="lst1" ValueToCompare="-1" Operator="NotEqual" 
Text="Empty value is not allowed" Type="String" />

答案 1 :(得分:1)

对于比较,比较验证器是正确的。但是对于初始值(-1),您需要为两个下拉列表添加必需的字段验证器。因此用户必须选择值。

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv1" runat="server" ErrorMessage="Please select value" ControlToValidate="dd1" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv2" runat="server" ErrorMessage="Please select value" ControlToValidate="dd2" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1" 
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error" 
                    Type="String" />