0

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

我在 ASP.Net MVC 中使用 C#

以下似乎不起作用:

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

注意我没有使用 Razor VIEW 引擎

4

1 回答 1

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# 代码与根本不编写任何代码一样糟糕。值得一提的是其他阅读本文的人,以免他们犯与您相同的错误。

于 2013-02-05T13:26:39.917 回答