如何在视图中创建方法

本文关键字:创建 方法 视图 | 更新日期: 2023-09-27 17:57:37

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

我在ASP.Net MVC 中使用C#

以下似乎不起作用:

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

注意:我没有使用RAZOR VIEW引擎

如何在视图中创建方法

如果您使用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#代码和根本不编写任何代码一样糟糕。值得一提的是,其他人读到这篇文章,这样他们就不会犯和你一样的错误。