2017-01-31 8 views
0

Мне нужно получить значение CurrentCulture Currency GroupSeparator и DecimalSeparator в внешнем JS-файле, как показано ниже, но ниже строки кода не получают ожидаемого результата. Это не выбор значений, а остается строка как есть.Как восстановить текущий кулер пользователя внутри внешнего JS-файла?

var thousands = '<%= System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator %>'; 
var decimal = '<%= System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator %>'; 

В моем приложении мне нужно применить формуляры для разных пользователей.

Пожалуйста, помогите мне.

+0

недостаточно контекста, чтобы понять, что конкретно представляет собой проблема. Взгляните на: http://stackoverflow.com/help/mcve –

+0

Вам нужна культура, такая же, как сервер или локализованная для каждого клиента? – mathiasfk

+0

@mathiasfk Мне нужна локализованная культура для каждого клиента – MarsRoverII

ответ

0

Вы не можете отображать переменные бритвы на внешний файл javascript.

Но вы можете сгенерировать только код javascript без тегов и изменить заголовки из запроса.

Например

<script src="http://yourdomain/mycontroller/methodthagenerateJavascript"></script> 

Затем в методе контроллера применять CONTENTTYPE приложение/JavaScript

Response.ContentType = "application/javascript"; 
0

переменные, как '<%= System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator %>' получить данные с сервера, поэтому нет его использования для вас.

На стороне клиента у вас есть объект navigator с некоторой информацией, например navigator.language. Затем вы можете использовать toLocaleString для его форматирования.

var number = 1234.56; 
var lang = navigator.language; //pt-BR 
number.toLocaleString(lang); //1.234,56 

Вы можете найти другие ответы по этой теме: Javascript Number and Currency localization

Edit: знать только сепараторы вы могли бы сделать что-то вроде:

separators = 1000.1.toLocaleString().replace(/\d/g, '') 
thousands = separators[0]; 
decimal = separators[1]; 

также связано: With a browser, how do I know which decimal separator does the client use?

+0

Я уже использую jquery-maskMoney.js. Мне нужно передать только десятичный разделитель и разделитель групп, и это значение должно быть специфическим для пользователя. – MarsRoverII