Я пробую некоторую глобализацию в приложении asp.net mvc2, но не могу заставить его работать полностью.Я использую библиотеку http://github.com/nje/jquery-glob в качестве инструмента для отображения валюты и дат и т. Д. В соответствии с пожеланиями пользователя.Однако что-то меня немного беспокоит.IU не может получить проверку на стороне клиента / сервера для фактического принятия глобализации с использованием jQuery.Независимо от того, что я пробую, если я отправляю обратно 40.00, все работает нормально, но если я отправляю 40,00, оно принимается как 0 (не допустимое десятичное значение инварианта .NET).Я пытался следовать @ haacked guide
Это в global.asax для обработки на стороне сервера:
private void SetCulture(string currencySymbol)
{
AjaxHelper.GlobalizationScriptPath =
http://ajax.microsoft.com/ajax/4.0/1/globalization/";
var culturePref = "sv-SE";
var request = HttpContext.Current.Request;
if (request.UserLanguages == null)
return;
var lang = request.UserLanguages[0];
if (lang != null) {
try {
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(lang);
}
catch {
Thread.CurrentThread.CurrentCulture =
new CultureInfo(culturePref);
}
}
Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture;
}
Затем нана стороне клиента Я включил следующие сценарии:
<script src="/Scripts/jquery-1.4.2.js" type="text/javascript"></script>
<script src="/Scripts/jquery.glob.js" type="text/javascript"></script>
<script src="/Scripts/globinfo/jquery.glob.sv-SE.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$.culture = jQuery.cultures['sv-SE'];
$.preferCulture('sv-SE');
});
</script>
<script src="/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.pack.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>
<script src="/Scripts/jquery.metadata.js" type="text/javascript"></script>
Пока все хорошо, но это мало что дает.Не поймите меня неправильно, я все еще могу использовать его на клиенте, но на стороне сервера ничего не происходит.Приведенный ниже jQuery соответствующим образом меняет формат, но когда я отправляю обратно 40,00, он становится 0,00.
function globalizePage(culture) {
// Set culture from select list
$.preferCulture(culture);
$("input[id$='Date']").val(function () {
var dateString = $(this).val();
var date = Date.parse(dateString);
var dt = $.format(date, 'd', culture.name);
return dt;
});
$("input[id$='Price']").val(function () {
var price = $.parseInt($(this).val());
var retVal = $.format(price, 'c', culture.name);
return retVal;
});
}
Что мне нужно сделать, чтобы этот код работал?