在开始之前,我知道这不是一个好的做法,但是想知道如何(如果有的话)可以在我的视图中定义一个方法。
我在ASP.Net MVC中使用C#
以下似乎不起作用:
decimal DoCalculation(IEnumerable<MyItems> items){
...
}
N.B。我没有使用RAZOR VIEW ENGINE
答案 0 :(得分:6)
如果您使用的是Razor视图引擎,则可以声明inline functions
:
@functions {
public string DoCalculation(IEnumerable<MyItems> items) {
...
}
}
或者您也可以使用inline helpers
:
@helper DoCalculationAndOutputResult(IEnumerable<MyItems> items)
{
foreach (var item in items)
{
<div>@item.SomeValue</div>
}
}
如果您使用的是WebForms视图引擎:
<script type="text/C#" runat="server">
public string DoCalculation(IEnumerable<MyItems> items) {
...
}
</script>
显然,在视图中编写C#代码与不编写任何代码一样糟糕。值得一提的是其他人阅读这篇文章,这样他们就不会和你犯同样的错误。