在不使用App_Code的情况下,从cshtml文件创建一个简单类并调用其方法

本文关键字:一个 简单 方法 调用 文件创建 cshtml App Code 情况下 | 更新日期: 2023-09-27 18:22:11

我看到了这个相关的问题——从cshtml文件创建简单类和调用方法。如果不使用App_Code文件夹,我们如何才能做到这一点

在我的项目根目录中,我有一个Something.cs类:

public class Something 
{
    public static void DoIt()  
    { 
    }
}

在我的项目根目录中,我还有index.cshtml,代码如下:

@Something.DoIt()

名称Something在index.cshtml.

在不使用App_Code的情况下,从cshtml文件创建一个简单类并调用其方法

的当前上下文中不存在

您是否尝试过引用cshtml文件中的项目库

@using ProjectName;

或者引用像这样的对象@ProjectName.Something.DoIt()

如果您在.cs.HTML之上或在任何HTML字符串模板(如for循环)内访问它,则

@{
   MvcDemo.Something.DoIt();
}

内部BeginForm或其他然后

@using (Html.BeginForm())
{
 MvcDemo.Something.DoIt();
}

请注意MvcDemo是命名空间,如果直接写入@MvcDemo.Something.DoIt(),可能会出现错误。

以下是我需要采取的步骤。

  1. 创建一个名为SomeThing.cs的文件
  2. 将所述文件放在csproj根目录中的任何位置
  3. 将上述文件添加到.csproj(这是我忘记做的)
  4. 使用方法DoIt()将类SomeThing添加到所述SomeThing.cs文件中
  5. 从SomeFile.cshtml文件调用其方法

例如SomeFile.cshtml

@SomeThing.DoIt() // this assumes class SomeThing is NOT inside a namespace.

我的问题是没有将SomeThing.cs添加到.csproj.