2016-04-06 4 views
1

私は文化がpt-BRであるアプリケーションを構築しています。この場合、小数点は.ではなく,で区別されます。特定のプロパティのバインドを処理することは可能ですか?

これは私がここにあるすべての場合にうまく動作しますしかしGeolocationはブラウザで取得しました。この場合

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

私は-30.028212のように番号を受け取るが、それは-30,02821を期待していたので、モデルバインダーはfloatに変換することはできません。

私はこのためにカスタムModelBinderを作成することができます知っていると私は私がstringプロパティを作成し、別の一つに自分自身を変換することができ知っているが、私はFrameworkが、この場合ためのソリューションに組み込まれを持っているかどうかを知りたいです。

私はthisという種類のソリューションを探していましたが、OPはすでに諦めていました。

ASP.NET MVCソリューションを使用して1つのプロパティのみの変換を処理することはできますか?

答えて

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

はい、私はこれについていくつか考えましたが、実際には組み込みのソリューションを探しています。私はModelBinderの 'string'プロパティと' float'と 'Convert.ToSingle( - 31.3"、CultureInfo.InvariantCulture) 'と一緒に消費する別のもので"解決 " –

関連する問題