我已经看到了这个相关的问题Creating and Simple Class and Calling a Method from a cshtml File。如何在不使用App_Code文件夹的情况下执行?
在我的项目根目录中,我有一个Something.cs类:
public class Something
{
public static void DoIt()
{
}
}
在我项目的根目录中,我还有index.cshtml,代码如下:
@Something.DoIt()
index.cshtml的当前上下文中不存在名称Something
。
答案 0 :(得分:4)
您是否尝试过引用cshtml文件中的项目库
@using ProjectName;
或者参考像@ProjectName.Something.DoIt()
答案 1 :(得分:1)
如果您在.cshtml之上或在任何HTML字符串模板中访问它,例如for循环,那么
@{
MvcDemo.Something.DoIt();
}
在BeginForm内部或其他
@using (Html.BeginForm())
{
MvcDemo.Something.DoIt();
}
请注意MvcDemo是命名空间,如果你直接写@MvcDemo.Something.DoIt()
,你可能会收到错误。
答案 2 :(得分:0)
以下是我需要采取的步骤。
SomeThing
将类DoIt()
添加到SomeThing.cs文件中。 E.g。 SomeFile.cshtml
@SomeThing.DoIt() // this assumes class SomeThing is NOT inside a namespace.
我的问题是没有将SomeThing.cs添加到.csproj。