Asp.net 整数输出,而不是字符串
我创建了一些返回整数的静态函数。在我看来,我想要这些函数的总和。我正在使用以下代码:Asp.net 整数输出,而不是字符串,asp.net,asp.net-mvc,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我创建了一些返回整数的静态函数。在我看来,我想要这些函数的总和。我正在使用以下代码: @myrepository.OverDraftCount() + @myrepository.MortgageCount() + @myrepository.InstallmentCount()+ @myrepository.RevolvingCount()+ @myrepository.OthersCount() 但是它返回的是2+2+2+2+2,而不是它认为所有这些函数的输出都是字符串的10。我怎样才能改
@myrepository.OverDraftCount() +
@myrepository.MortgageCount() +
@myrepository.InstallmentCount()+
@myrepository.RevolvingCount()+
@myrepository.OthersCount()
但是它返回的是2+2+2+2+2,而不是它认为所有这些函数的输出都是字符串的10。我怎样才能改变它
感谢Razor视图引擎将所有内容都视为一个字符串(HTML呈现意味着输出一组字符串),因此您需要在代码块中执行求和并显示它 尝试: 然后可以在html中使用sum变量:
<span>@sum</span>
@sum
编辑以澄清所有剧变: 正如我在评论中广泛指出的那样,这将解决你的问题,但这并不是实现你想要的最整洁的方式。在我看来,您有两个更好的选择:
ViewBag
传递给视图Razor视图引擎将所有内容都视为字符串(HTML呈现意味着输出一组字符串),因此您需要在代码块中执行求和并显示它 尝试: 然后可以在html中使用sum变量:
<span>@sum</span>
@sum
编辑以澄清所有剧变: 正如我在评论中广泛指出的那样,这将解决你的问题,但这并不是实现你想要的最整洁的方式。在我看来,您有两个更好的选择:
ViewBag
传递给视图您刚刚忘记将
Sum
方法添加到此类:
public decimal Sum()
{
return OverDraftCount() +
MortgageCount() +
InstallmentCount() +
RevolvingCount() +
OthersCount();
}
因此,在你看来:
@myrepository.Sum()
视图应该尽可能地愚蠢。他们太笨了,连数字都不会加。不要将这种逻辑编码到它们中。他们应该只显示传递给他们的信息,而不是试图计算和获取数据。这不是他们的责任。您只是忘了在这个类中添加一个
Sum
方法:
public decimal Sum()
{
return OverDraftCount() +
MortgageCount() +
InstallmentCount() +
RevolvingCount() +
OthersCount();
}
因此,在你看来:
@myrepository.Sum()
视图应该尽可能地愚蠢。他们太笨了,连数字都不会加。不要将这种逻辑编码到它们中。他们应该只显示传递给他们的信息,而不是试图计算和获取数据。这不是他们的责任。@DotnetSparrow-我很高兴你将我的答案标记为正确的答案,但在看到@Darin Dimitrov的答案后,我不得不说他的方法可能更干净。您也可以中途退出,在控制器中执行添加操作,并通过
ViewBag
属性将结果传递给视图;比如:ViewBag.Sum=//操作
和视图中的@ViewBag.Sum
。我认为在视图上进行一些计算不是一个好主意。这不是view的工作。这主要是控制器的工作。您应该在控制器上执行此操作,并将其与ViewBag或某些强类型类一起传递。亲爱的downvoter,我尊重downvote,但你能至少解释一下为什么吗?我的回答没有错;我如实回答OP的要求。我还发表了两条评论,鼓励OP支持Darin的答案。那么为什么要投反对票呢?@Sergi这里没有冒犯的意思,但我是反对票的人:)我解释了为什么这不是正确的方式。@tugberk-很公平。我仍然认为我的答案没有错,这不是我想要的方式(我自己也从来没有这样做过),但它的答案是直截了当的OP问题。我是第一个说我不配在这件事上得到正确答案的人,但我也不认为我应该得到否决票。不管怎样,这是你的意见,我尊重你的意见。我很高兴你至少给出了否决票的理由:)@DotnetSparrow-我很高兴你将我的答案标记为正确答案,但在看到@Darin Dimitrov的答案后,我不得不说他的方法可能更干净。您也可以中途退出,在控制器中执行添加操作,并通过ViewBag
属性将结果传递给视图;比如:ViewBag.Sum=//操作
和视图中的@ViewBag.Sum
。我认为在视图上进行一些计算不是一个好主意。这不是view的工作。这主要是控制器的工作。您应该在控制器上执行此操作,并将其与ViewBag或某些强类型类一起传递。亲爱的downvoter,我尊重downvote,但你能至少解释一下为什么吗?我的回答没有错;我如实回答OP的要求。我还发表了两条评论,鼓励OP支持Darin的答案。那么为什么要投反对票呢?@Sergi这里没有冒犯的意思,但我是反对票的人:)我解释了为什么这不是正确的方式。@tugberk-很公平。我仍然认为我的答案没有错,这不是我想要的方式(我自己也从来没有这样做过),但它的答案是直截了当的OP问题。我是第一个说我不配在这件事上得到正确答案的人,但我也不认为我应该得到否决票。不管怎样,这是你的意见,我尊重你的意见。我很高兴你至少给出了否决票的理由:)我很高兴你把我的答案标记为正确的答案,但在看到@Darin Dimitrov的答案后,我不得不说他的方法可能更干净。您也可以中途退出,在控制器中执行添加操作,并通过ViewBag
属性将结果传递给视图;比如:ViewBag.Sum=//操作
在视图@ViewBag.Sum
中,我很高兴您将我的答案标记为正确答案,但在看到@Darin Dimitrov的答案后,我不得不说他的方法可能更干净。您也可以中途退出,在控制器中执行添加操作,并通过ViewBag
属性将结果传递给视图;类似:ViewBag.Sum=/