【发布时间】:2016-07-13 09:19:35
【问题描述】:
嗯,我在 Asp.net Mvc 中有点新,我从头开始学习,我有一个控制支出和收入的应用程序,我现在要做的是,根据收入和支出列表给我平衡来自用户,我在尝试控制它时遇到了很多问题,我不知道我是否以正确的方式进行操作
这是我的模型:
public class Balance
{
public int BalanceId { get; set; }
public List<Expense> Despesas { get; set; }
public List<Earning> Rendimentos { get; set; }
public string ApplicationUserId { get; set; }
}
我所做的是,首先尝试控制用户何时插入收入或类似的行,验证用户是否已在控制方法中的数据库中存在,如果不存在,则在费用和收入中创建他添加了 aplicationUserId 和昂贵的或收入。
我希望余额出现在每个页面中,所以我将其添加到我的 Layout.cshtml
<li>@Html.Action("GetBalance", "Home")</li>
它调用控制器 GetBalance:
public PartialViewResult GetBalance()
{
var userId = User.Identity.GetUserId();
var balance = db.Balance.Where(d => d.ApplicationUserId == userId);
return PartialView("_GetBalance",balance);
}
将平衡模型发送到视图_GetBalance:
@model <MSDiary.Models.Balance>
<p>Saldo: @GetBalance()</p>
@functions
{
HtmlString GetBalance()
{
decimal saldo = 0;
if (Model.Expense.Count != 0 || Model.Earning.Count != 0)
{
foreach (var item in Model.Despesas)
{
balance += item.EarningValue;
}
foreach (var item in Model.Rendimentos)
{
balance -= item.ExpenseValor;
}
}
return new HtmlString(balance.ToString());
}
}
我想知道的是,如果有更简单的方法可以做到这一点,或者我可以做些什么来做我想做的事,我不明白为什么我的观点期望不同的东西有人可以解释我做错了什么?
Ps:对不起,很长的帖子和英文,但我想了解更多:)
【问题讨论】:
标签: c# asp.net asp.net-mvc razor asp.net-mvc-5