2017-02-03 84 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 –