2013-10-11 6 views
1

간단한 NumericTextBox가 있습니다. 나는를 입력하려고하면NumericTextBox의 값이 잘못되었습니다.

문제는, 내 값은 항상 내가 8.5로 시작한다면, 그것은 850보기 (850 저장)한다 (100)를 곱 또한 등 다음 번 85000,

입니다 십진수 (8.5)이면 실패합니다. 이 값은 정확합니다.

$("#TimeEstimate").data("kendoNumericTextBox").value() 

어떻게 해결할 수 있습니까?

<%= Html.Kendo().NumericTextBox<decimal>() 
    .Name("TimeEstimate") 
    .Decimals(2) 
    .Format("d2") 
%> 

이 컨트롤러에 보내려면 :

$.ajax({ 
    type: "POST", 
    url: "/Admin/doModify", 
    data: $('#myForm').serialize(), 
    dataType: "text", 
    success: function (data) {}, 
    error: function (err) {} 
}); 

감사합니다

나는이 .Value(Model.TimeEstimate/100) 같은 값을 설정하면 85 대신 8.5를 표시합니다

주 (8 8로 표시)

답변

1

나는 Kendo UI와 10 진수 값에 비슷한 문제가 있었다. Kendo가 소수점 구분 기호로 마침표를 예상하는 동안 서버 측에서 소수점 구분 기호로 쉼표로 텍스트 상자에 초기 값을 렌더링하고 있음이 밝혀졌습니다.

Kendo 문화권과 서버 측의 CurrentCulture가 동기화되어 있는지 확인하십시오.

이것은 내가 가진 문제를 해결하기위한 것입니다. 내 MVC 응용 프로그램의 레이아웃 페이지에서

, 나는 검도 스크립트를 포함하는 줄 뒤에, 나는이 조각 포함 :

<script> 
    kendo.culture("es-DO"); 
</script> 

응용 프로그램의 Global.asax.cs 파일에를, 나는 실행됩니다이 방법을 포함 응용 프로그램에 대한 모든 요청 :

protected void Application_BeginRequest(object sender, EventArgs e) { 
    var culture = new CultureInfo("es-DO", false); 
    Thread.CurrentThread.CurrentCulture = culture; 
    Thread.CurrentThread.CurrentUICulture = culture; 
} 

편집 : 응용 프로그램의 문화와 UI 문화를 설정하는 방법은 여러 가지가 있습니다 http://msdn.microsoft.com/en-us/library/bz9tc508.aspx은. 또한 .NET Framework 4.5 이상에서는 초기화시 DefaultThreadCurrentCulture 및 DefaultThreadCurrentUICulture를 설정할 수 있습니다.

이렇게하면 Kendo UI 프레임 워크와 서버가 모두 수천 및 소수에 대해 동일한 구분 기호를 사용해야합니다.

이제 응용 프로그램에서 하나의 문화권 만 필요로하는 경우이 솔루션이 작동합니다. 누구든지이 답변을 편집하여 다중 문화 솔루션을 추가 할 수 있습니다.

편집 : http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/globalization

: Telerik 자체는 서버 측에서 같은 문화를 사용하는 가이드와 클라이언트 측이
관련 문제