15 Jun 2015 às 13:49 0 575 Blog
A operação LinkVoltar é um Extension Method que adiciona uma nova capacidade ao tipo HtmlHelper (namespace System.Web.Mvc), sem que isto implique na necessidade de se gerar uma nova classe derivada do mesmo. Esse método recebe como parâmetro uma instância da classe HtmlString precedida pela palavra-chave “this” (isto é uma característica típica de um Extension Method), além de dois outros parâmetros que correspondem à identificação (id) do link HTML a ser gerado e ao texto de exibição para este controle (com este último sendo opcional, assumindo o valor default “Voltar” caso não tenha sido informado)
O retorno do método LinkVoltar será uma instância do tipo MvcHtmlString (namespace System.Web.Mvc), a qual é gerada repassando-se à mesma a string que define o link HTML. Conforme é possível observar, ao se acionar tal link o usuário será redirecionado para a página em que se encontrava anteriormente, com isto acontecendo através da Javascript “history.go(-1)”.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using System.Web.Mvc.Html; namespace TesteHTMLHelper.Html { public static class HtmlHelperExtension { public static MvcHtmlString LinkVoltar( this HtmlHelper html, string idLink, string textoLink = "Voltar") { string strLink = String.Format( "{1}", idLink, textoLink); return new MvcHtmlString(strLink); } } }
Utilizando o novo HTML Helper
Com o tipo HtmlHelperExtension já definido, deve-se proceder agora com o acerto das Views que farão uso do mesmo dentro do site TesteHTMLHelper.
@Html.LinkVoltar("lnkVoltar", "Retornar à página anterior")
O primeiro passo será incluir no projeto MVC uma referência que aponte para a biblioteca
Declarando o namespace TesteHTMLHelper.Html em uma View
@using TesteHTMLHelper.Html
Fonte.: Devmedia
|