Hola a todos, hace un buen tiempo escribí un post sobre como es posible encapsular lógica en helpers, y en esa ocasión básicamente se creo un método de extensión (mira el post acá), así que en esta ocasión la idea es crear un helper aprovechando razor.

La idea es crear un sencillo helper que permita renderizar video aprovechando HTML5, así que lo primero es crear una nueva vista en la carpeta App_Code, vamos a llamarla VideoHelper.cshtml:

helpers1

Ahora el código de la vista, para definir hacemos uso de @helper, luego el nombre del helper, los parámetros que recibe y finalmente el html que vamos a generar, noten que para usar los parámetros se debe usar la @:


@helper Video(string id, string src, bool autoplay, bool controls)
{
    <video id="@id" src="@src"
        autoplay="@autoplay" controls="@controls">                                                                                                                                                                                                               ">
    </video>
}

Y finalmente para hacer uso del helper, desde cualquier vista:


@VideoHelper.Video("video1", "/Videos/simpsons.mp4", true, false)

Espero les sea de utilidad, saludos!