C# 如何在视图中创建方法?

C# 如何在视图中创建方法?,c#,asp.net-mvc,C#,Asp.net Mvc,在我开始之前,我知道这不是一个好的实践,但我想知道如何(如果有的话)在我的视图中定义一个方法 我在ASP.NETMVC中使用C# 以下似乎不起作用: decimal DoCalculation(IEnumerable<MyItems> items){ ... } 十进制文件计算(IEnumerable items){ ... } N.B.我没有使用RAZOR视图引擎如果您正在使用RAZOR视图引擎,您可以声明: 如果您使用的是WebForms视图引擎: <scrip

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

我在ASP.NETMVC中使用C#

以下似乎不起作用:

decimal DoCalculation(IEnumerable<MyItems> items){
    ...
}
十进制文件计算(IEnumerable items){
...
}

N.B.我没有使用RAZOR视图引擎

如果您正在使用RAZOR视图引擎,您可以声明:

如果您使用的是WebForms视图引擎:

<script type="text/C#" runat="server">
    public string DoCalculation(IEnumerable<MyItems> items) {
        ...    
    }
</script>

公共字符串文档计算(IEnumerable items){
...    
}

显然,在视图中编写C#代码与根本不编写任何代码一样糟糕。值得一提的是,阅读本文的其他人不会犯与您相同的错误。

如果您使用的是Razor view引擎,您可以声明:

如果您使用的是WebForms视图引擎:

<script type="text/C#" runat="server">
    public string DoCalculation(IEnumerable<MyItems> items) {
        ...    
    }
</script>

公共字符串文档计算(IEnumerable items){
...    
}

显然,在视图中编写C#代码与根本不编写任何代码一样糟糕。值得一提的是,阅读本文的其他人不会犯与您相同的错误。

您的可能副本应该真正将此代码放入您的模型中。这与MVC的潮流背道而驰。可能的重复应该真正将此代码放入模型中。这与MVC潮流相反。但这不会返回任何东西。这不是
@helper
的语法吗?@Jon,在Razor中,你有
@函数
@helper
,这是两个完全不同的东西。@Frederiek,不,不是。这是一个函数声明。您是否在Razor视图中的某个位置调用它,以便它返回某些内容?但这不会返回任何内容。这不是
@helper
的语法吗?@Jon,在Razor中,您有
@functions
@helper
,这是两个完全不同的东西。@Frederiek,不,它没有。这是一个函数声明。你有没有在你的Razor视图中的某个地方调用它,以便它返回一些东西?
<script type="text/C#" runat="server">
    public string DoCalculation(IEnumerable<MyItems> items) {
        ...    
    }
</script>