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 #?

Foi útil?

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();
        }
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top