Как создать функцию в шаблоне cshtml?
Мне нужно создать функцию, которая необходима только в одном файле cshtml. Вы можете думать о моей ситуации как ASP.NET методы страницы, которые являются минимальными веб-службами, реализованными на странице, поскольку они ограничены одной страницей. Я знаю о HTML-помощниках (методах расширения), но моя функция нужна только в одном файле cshtml. Я не знаю как создать сигнатуру функции в представлении. Примечание: Я использую движок шаблонов Razor.
5 ответов
вы можете использовать директиву @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
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
Func<int,int,int> Sum = (a, b) => a + b;
}
<h2>Index</h2>
@Sum(3,4)
использовать
@functions{
private string GetUrl(string destination)
{}
затем вы можете вызвать функцию, как-