asp.net RangeValidator,接受带有逗号而不是点的MinimumValue和MaximumValue

时间:2017-06-21 08:51:50

标签: c# asp.net

在TextBox中我验证0到1之间的数字。我希望系统接受值0,5而不是0.5

CultureInfo before = System.Threading.Thread.CurrentThread.CurrentCulture;
    try

    {
        System.Threading.Thread.CurrentThread.CurrentCulture =
        new CultureInfo("de-DE");
        var rngVald = new RangeValidator
            {
            ControlToValidate = IdOfMyTextBox,
            MinimumValue = "0",
            MaximumValue = "1"
            Type = ValidationDataType.Double,
            ErrorMessage = "<span class=\"error\">*value should be bet. 0 and 1</span>"
            };
        panel.Controls.Add(rngVald);
    }

finally
    {
        System.Threading.Thread.CurrentThread.CurrentUICulture = before;
    }

即使在德国,浮点数用逗号表示,但系统仍然不接受0,5作为有效数字。

1 个答案:

答案 0 :(得分:1)

你改变了文化?您最迟必须在Page_Init中执行此操作。

此外,将动态验证器添加到面板后,将文化更改回原来的状态并不起作用。这不是验证输入的时间。因此,在进行验证时,文化将处于活动状态,而不是在将其添加到页面时。