2017-06-21 44 views
1

在一個文本框,我驗證0和1之間的數字我想系統接受,而不是0.5的值0.5asp.net RangeValidator控件,接受MinimumValue和MaximumValue用逗號,而不是點

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作爲有效數字。

+0

你在哪裏改變了文化?你必須在'Page_Init'中做到最新 –

+0

我正在做Page_Load – Kamran

回答

1

你在哪裏改變了文化?您最遲必須在Page_Init之前執行此操作。

另外,在將面板添加動態驗證程序後,將文化改回到以前的樣子不起作用。這不是驗證輸入的時間。因此,需要在驗證發生時激活文化,而不是將其添加到頁面。

+0

現在我已經把代碼放在'Page_Init'中,但結果仍然是一樣的。 – Kamran

+0

@Kamran:當然,因爲你在最後改變了文化。這不起作用,因爲我已經解釋了答案 –

相關問題