如何在cshtml模板中创建一个函数?

我需要创建一个只在一个cshtml文件中需要的函数。 您可以将我的情况想象为ASP.NET页面方法,这是在页面中实现的最小Web服务,因为它们的作用域为一个页面。 我知道HTML助手(扩展方法),但我的功能只需要在一个cshtml文件。 我不知道如何在视图中创建函数签名。 注意 :我使用的是Razor模板引擎。


你可以使用@helper Razor指令:

@helper WelcomeMessage(string username)
{
    <p>Welcome, @username.</p>
}

然后你像这样调用它:

@WelcomeMessage("John Smith")

为什么不直接在cshtml文件中声明该函数?

@functions{
    public string GetSomeString(){
        return string.Empty;
    }
}

<h2>index</h2>
@GetSomeString()

如果你的方法不必返回html并且必须做其他的事情,那么你可以在Razor中使用lambda而不是helper方法

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";

    Func<int,int,int> Sum = (a, b) => a + b;
}

<h2>Index</h2>

@Sum(3,4)
链接地址: http://www.djcxy.com/p/85289.html

上一篇: How to create a function in a cshtml template?

下一篇: How do you declare a comment using the Razor view engine?