2017-02-03 90 views
0

這個問題可能已被問及,如果是這樣,請隨時指向正確的方向。ASP.NET MVC讀寫集屬性

我有一個看起來像這樣的屬性視圖模型:

private decimal _paymentAmountPaid; 
public decimal PaymentAmountPaid 
{ 
    get { return CalPaymentAmountPaid(); } 
    set 
    { 
     _paymentAmountPaid = value; 
    } 
} 

當視圖加載它顯示的是我希望它在控制(劍道數字文本框)正確的金額。但是,如果用戶更改了文本框中的值(比如說從100到150),它仍然會發布值100.如何獲取它以發佈用戶更改它的值?

+0

您的表單(在您的視圖中)的外觀如何? – Alisson

+1

對於任何消費代碼來設置一個值,然後在立即讀取該值時得到不同的東西,似乎有點不直觀。也許計算出的版本應該是它自己的屬性? – David

回答

1

在您的getter你不回由用戶設置的值,但重新計算的值:

get { return CalPaymentAmountPaid(); } // always calculates the value 

如果用戶設置的值,你應該稍後返回本地值:

private decimal _paymentAmountPaid; 
private bool _userSetValue; 
public decimal PaymentAmountPaid 
{ 
    get { return _userSetValue ? _paymentAmountPaid : CalPaymentAmountPaid(); } 
    set 
    { 
     _userSetValue = true; 
     _paymentAmountPaid = value; 
    } 
} 
+0

這就像一個魅力。非常感謝Rene –