如何在cshtml模板中创build一个函数?
我需要创build一个只需要在一个cshtml文件中的函数。 您可以将我的情况想象为ASP.NET页面方法,这是在页面中实现的最小Web服务,因为它们被限定为一个页面。 我知道HTML助手(扩展方法),但我的function只需要在一个cshtml文件。 我不知道如何在视图中创build一个函数签名。 注意 :我正在使用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)
看看声明式剃刀助手
- ASP.NET MVC Editor-Templates / UIHint带参数
- POSTstring到ASP.NET Web Api应用程序 – 返回null
- 如何在.NET MVC 2中实现正确的HTTPerror handling?
- 在ASP.NET Web API中从控制器返回二进制文件
- 如何将HttpRequest转换为HttpRequestBase对象?
- MVC3:使checkbox需要通过jQueryvalidation?
- 仅在生产中使用ASP.NET MVC RequireHttps
- SessionID在ASP.NET MVC中不断变化,为什么?
- 如何删除ASP.Net MVC默认HTTP头?