如何在视图中创建方法?

时间:2013-02-05 13:25:13

标签: c# asp.net-mvc

在开始之前,我知道这不是一个好的做法,但是想知道如何(如果有的话)可以在我的视图中定义一个方法。

我在ASP.Net MVC中使用C#

以下似乎不起作用:

decimal DoCalculation(IEnumerable<MyItems> items){
    ...
}

N.B。我没有使用RAZOR VIEW ENGINE

1 个答案:

答案 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#代码与不编写任何代码一样糟糕。值得一提的是其他人阅读这篇文章,这样他们就不会和你犯同样的错误。