Asp.net mvc 从Razor调用类中的方法

Asp.net mvc 从Razor调用类中的方法,asp.net-mvc,razor,Asp.net Mvc,Razor,我在MVC4项目的App_代码目录中的一个类中有一个方法。我可以从控制器调用这个函数,但我不知道如何从视图(.cshtml)文件调用它 在我看来,我尝试了几件事,都是这样: @LST.App_Code.Utilities.log.Info("asdf"); 当我这样做时,我在尝试加载页面时收到以下编译错误: 描述:编译资源时出错 服务此请求所必需的。请查看以下具体内容 错误详细信息,并适当修改源代码 编译器错误消息:CS0433:类型“LST.App\u Code.Utilities” 两者都

我在MVC4项目的App_代码目录中的一个类中有一个方法。我可以从控制器调用这个函数,但我不知道如何从视图(.cshtml)文件调用它

在我看来,我尝试了几件事,都是这样:

@LST.App_Code.Utilities.log.Info("asdf");
当我这样做时,我在尝试加载页面时收到以下编译错误:

描述:编译资源时出错 服务此请求所必需的。请查看以下具体内容 错误详细信息,并适当修改源代码

编译器错误消息:CS0433:类型“LST.App\u Code.Utilities” 两者都存在 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\bd7cb704\59585235\assembly\dl3\3b0ad3ff\ec2b5faa\u 0b13ce01\mvcroot.DLL' 和'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET' Files\root\bd7cb704\59585235\App_Code.cgwncvj.dll'

源错误:

第7行:@使用(Html.BeginForm())第8行:{9行:
@(LST.App_Code.Utilities.log.Info(“asdf”))第10行:第11行:
@Html.AntiForgeryToken()

我已经尝试了关于清理项目、asp.net临时文件目录和设置批编译选项的建议。没有任何效果


我对Razor语法的复杂性不太熟悉。有人能给我指出正确的方向吗?

我让它在.cs文件中没有名称空间的情况下工作

如果您已经创建了app_code文件夹,那么您可以像这样创建类文件(没有名称空间):

从你的角度来说是这样的:

@{
   new FooClass().Foo(...);

}

为我工作…

您是否可能在两个不同的文件中有两个
LST.App\u code.Utilities
类(并且忘记
partial
关键字)?我不这么认为,但我会寻找它。谢谢你的回答。@Mattdowdy,你是在引用你的表示层的第二个项目吗?@DaveA,不,我不是。这是一个非常简单的项目。我没有数据访问库或业务层或任何东西。它完全是自包含的。但是,这应该是可能的,对吗?我应该能够使用c从一个视图来看,所有这些都是静态类中的静态方法,对吗?
using System:
...

public class FooClass{
  public string Foo(...)
  {
      ...
  }
}
@{
   new FooClass().Foo(...);

}