2016-04-06 2 views
1

Я создаю приложение, в котором культура pt-BR. В этом случае десятичные разряды обозначаются , вместо ..Возможно ли обработать привязку только для одного конкретного свойства?

Это хорошо работает с каждым случаем у меня здесь , ноGeolocation у сайта есть браузер.

public class ClientData 
{ 
    public float Latitude { get; set; } 
} 

В этом случае я получаю номер как -30.028212 но модель Binder не может преобразовать его в float, потому что он ожидал -30,02821.

Я знаю, что может создать пользовательский ModelBinder для этого, и я знаю, что я мог бы создать string собственности и преобразовать себя в другом, но я хочу знать, если Framework имеет встроенные в растворе для этого случая.

Я искал решение вида this, но ОП уже сдался.

Можно ли обрабатывать преобразование только одного свойства с помощью решения ASP.NET MVC?

ответ

0

Я считаю, что самый простой способ решить это - использовать свойство.

private string latitude; 
public string Latitude 
{ 
    get 
    { 
     NumberFormatInfo format = new System.Globalization.NumberFormatInfo(); 
     format.CurrencyDecimalSeparator = ","; 
     return decimal.Parse(latitude).ToString(format); 
    } 
    set 
    { 
     latitude = value; 
    } 
} 
+0

Да, я думал о некоторых подобных, но я действительно ищу встроенное решение. Мне удалось «решить» свойство «string» для ModelBinder, а другое - «float» и «Convert.ToSingle (« - 31.3 », CultureInfo.InvariantCulture) –