ajudante aplicação em ASP.NET MVC
-
05-07-2019 - |
Pergunta
Eu estou procurando uma maneira de fazer um ajudante aplicação que permite que você defina métodos que você pode chamar em todos os pontos de vista controladores. No Rails você conseguiu isso de graça, mas como eu posso fazer isso em ASP.NET MVC com c #?
Solução
A maneira usual é escrever métodos de extensão para HtmlHelper
- por exemplo:
public static string Script(this HtmlHelper html, string path)
{
var filePath = VirtualPathUtility.ToAbsolute(path);
return "<script type=\"text/javascript\" src=\"" + filePath
+ "\"></script>";
}
Agora, a visão que você pode usar Html.Script("foo");
etc (uma vez que o modo de exibição padrão tem um membro HtmlHelper
chamado Html
). Você pode também métodos de gravação em uma base-view, mas as aparece abordagem método de extensão para ser o mais comum.
Outras dicas
Gostaria de sugerir a adição de um método de extensão para a classe controlador de base.
public static class ControllerExtensions
{
public static string Summin(this Controller c)
{
return string.Empty;
}
}
Você pode acessar a função auxiliar em seu controlador:
public class MyController : Controller
{
public ActionResult Index()
{
this.Summin();
return View();
}
}