如何从 .cshtml 页面引用用户定义的函数?

问题描述 投票:0回答:1

我有一个 Functions.cshtml 文件,其中包含所有用户定义的函数:

@functions {
   public static string doSomething(string aString, string anotherString) {
   ...
   }
}

在另一个页面 myPage.cshtml 中,我引用

doSomething:Functions.doSomething("dummy", "AnotherString");

当我从 Visual Studio 2015 中运行此方法时,该方法将被引用并执行。但是,当我将应用程序部署到我的网站并尝试执行 myPage.cshtml 时,我收到错误:

编译器错误消息:CS0117:“ASP.Functions”不包含“doSomething”的定义。

如何让网页像 VS 2015 中那样正常运行?

c# asp.net razor
1个回答
1
投票

我相信如果其他 .cshtml 页面不在 App_Code 文件夹中,您就无法调用它们。

将所有函数保存在 .cshtml 文件中并不是最佳实践。如果您在 App_Code 文件夹中添加包含所有这些函数的类文件,那么您将能够访问它们,而无需导入。例如,如果

doSomething
是静态的并且该类称为
Functions
那么您可以这样调用它:

@Functions.doSomething("dummy", "AnotherString");
© www.soinside.com 2019 - 2024. All rights reserved.