2011-02-10 31 views
2

可能重複:
How to filter form data with custom model binder在ASP.NET MVC3中,將貨幣和百分比值綁定到我的模型最簡單的方法是什麼?

根據需要在編輯下面的簡單模型用於預填充的字段/創建視圖(即,$ 250,000名& 75%)。但是,回發到控制器時,屬性無法正確綁定。

什麼是最簡單的方法讓MVC將這些字符串從人性化的格式轉換回到十進制和浮點屬性值?我可以在屬性上使用某種ValueConverter屬性嗎?或者我必須實施完整的ModelBinder?

public class MyModel 
{ 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:C0}")] 
    [Required] 
    [Display(Name = "My Money")] 
    public decimal Moo { get; set; } 

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0%}")] 
    [Required] 
    [Display(Name = "Percentage of Awesomeness")] 
    public float PercentAwesome { get; set; } 
} 

我曾以爲正確的MVC運行時將能夠通過在DisplayFormat屬性使用值自動地處理它。

預先感謝MVC新手!

回答

2

您需要一個自定義模型聯編程序來執行您想要的操作。有關指導,請參閱this問題。

+0

輝煌。謝謝阿穆拉。 – Jason

+0

糟糕。鏈接指向的解決方案不適用於mvc3。 – Jason

+1

儘管如此。 [鏈接](http://stackoverflow.com/questions/999791/decimal-values-with-thousand-separator-in-asp-net-mvc) – Jason

相關問題