C# 我怎样才能做到最好?
我得到了一个具有以下属性的viewmodel:C# 我怎样才能做到最好?,c#,asp.net-mvc,asp.net-mvc-4,razor,model-binding,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,Model Binding,我得到了一个具有以下属性的viewmodel: int Balance int WithdrawAmount 我在ASP.NET MVC4应用程序中的一个视图允许用户从余额中取款。 现在,当通过GET请求访问页面时,我获取用户余额,并通过取款视图模型将其传递给视图,从而将其显示给用户-在模型中,取款金额是因为用户尚未指定要取款的金额 用户输入想要提取的金额,并提交发送提取金额的POST请求 现在,我再次将取款金额绑定到取款视图模型,以便自动检查modelstate是否有效(金额高于0) 最后我
int Balance
int WithdrawAmount
我在ASP.NET MVC4应用程序中的一个视图允许用户从余额中取款。
现在,当通过GET请求访问页面时,我获取用户余额,并通过取款视图模型
将其传递给视图,从而将其显示给用户-在模型中,取款金额
是因为用户尚未指定要取款的金额
用户输入想要提取的金额,并提交发送提取金额的POST请求
现在,我再次将取款金额
绑定到取款视图模型
,以便自动检查modelstate是否有效(金额高于0)
最后我提取了金额等
我想知道的是,是否有更好的方法来实现这一点?在我看来,当值明显不同(余额在模型中或取款金额在模型中)时,使用相同的viewmodel似乎很愚蠢-实际上使它们成为两个不同的模型
我可以用更好的方法吗?如果您只需要取款金额,只需让控制器操作方法采用int
参数即可
[HttpPost]
[Authorize]
public ViewResult MyMethod(int withdrawAmount){ ... }
是的,但是我不能添加验证规则,比如金额必须高于零等等。那么不,你是在用最好的方法。ViewModel包含这两个值非常好。我明白了-非常感谢,我只是想确保我不习惯坏习惯。