Я ищу способ создания помощника приложения, который позволяет вам определять методы, которые вы можете вызвать во всех представлениях контроллеров. В Rails вы получаете это бесплатно, но как это сделать в ASP.NET MVC с C#?Помощник приложения в ASP.NET MVC
1
A
ответ
3
Обычный способ заключается в письменной форме методы расширения для HtmlHelper
- например:
public static string Script(this HtmlHelper html, string path)
{
var filePath = VirtualPathUtility.ToAbsolute(path);
return "<script type=\"text/javascript\" src=\"" + filePath
+ "\"></script>";
}
Теперь в окне вы можете использовать Html.Script("foo");
и т.д. (так как стандартный вид имеет HtmlHelper
элемент называется Html
). Вы также можете писать методы в базовом представлении, но подход метода расширения является наиболее распространенным.
0
Я бы предложил добавить метод расширения в базовый класс контроллера.
public static class ControllerExtensions
{
public static string Summin(this Controller c)
{
return string.Empty;
}
}
Вы можете получить доступ к вспомогательной функции в контроллере:
public class MyController : Controller
{
public ActionResult Index()
{
this.Summin();
return View();
}
}
Как я интерпретировал его, он хотел с точки зрения, а не контроллер ... не большие изменения, хотя. –