C# 使用asp范围验证验证带负号的字符串编号

C# 使用asp范围验证验证带负号的字符串编号,c#,asp.net,validation,C#,Asp.net,Validation,嗨,提前谢谢你 我有一个类似这样的纬度和经度:-81.7426684 W--81.6901007 W,我正在尝试使用asp Range验证,使用最小值和最大值属性进行验证 asp: 我得到这个错误:System.Web.HttpException:最大值-81.6901007 W不能小于RangeLong_验证器的最小值-81.7426684 W。我认为它没有计算负号 我必须使用字符串,因为我可能也有这样的格式:2532'13.2“E,12459.94'E 我愿意接受任何想法。一般来说,当使用R

嗨,提前谢谢你

我有一个类似这样的纬度和经度:-81.7426684 W--81.6901007 W,我正在尝试使用asp Range验证,使用最小值和最大值属性进行验证

asp:

我得到这个错误:System.Web.HttpException:最大值-81.6901007 W不能小于RangeLong_验证器的最小值-81.7426684 W。我认为它没有计算负号

我必须使用字符串,因为我可能也有这样的格式:2532'13.2“E,12459.94'E


我愿意接受任何想法。

一般来说,当使用RangeValidator处理数字时,您应该指定Type=“Integer”或Type=“Double”,而不是Type=“String”

然而,在您的具体案例中,主题数据比一个数字更复杂——它的末尾有“W”,正如您所提到的,格式可能更复杂。
因此,为了正确验证这些数据,您应该使用CustomValidator。这样,您就可以解析数据并根据任何规则进行测试。

交换您的低值和高值-您是否仍然收到错误?@geedubb不,我没有收到错误,但这不是最小值和最大值的正确界限。有人说我删除了字母,使用另一种格式:-25 32'13.2“,我仍然不能使用RangeValidator,对吗?RangeValidator对这种格式一无所知,它只能处理整数和浮点数。asp自定义验证是只使用javascript还是我也可以使用c#?如果必要的话,我也可以删除引号,但是我会有这样的东西:-25 32 13.2,但我确定它将如何处理这些空格。自定义验证可以在服务器(c#)和浏览器(javascript)上完成。
<asp:TextBox ID="txtLon" runat="server" CssClass="container-input-field" SkinID="NumTextUpDown"></asp:TextBox>
 <asp:RangeValidator ID="RangeLong_Validator" runat="server" ControlToValidate="txtLon"
                                CssClass="errorMessage" ToolTip="Longitude Out Of Range" Type="String">
                                <img alt="" src="images/no.png" />
                            </asp:RangeValidator>
RangeLong_Validator.MinimumValue = "" + getCompassLon(range.LowLong); // -81.7426684 W

        RangeLong_Validator.MaximumValue = "" + getCompassLon(range.HighLong); // -81.7426684 W

        rangeSetUp_Lon.Text = RangeLong_Validator.MinimumValue + " - " + RangeLong_Validator.MaximumValue;