Pregunta

Actualmente estoy corriendo de un sitio web, yo uso un control que hereda de ITemplate para envolver todos mis controles de usuario en.

básicamente lo que es, es una mesa con una frontera agradable, y yo soy capaz de volcar algo allí, por lo que si cambio la plantilla de contenedores, todos los contenedores cruzando cambia el sitio ...

Ahora estoy en el proceso de reconstrucción de toda la aplicación utilizando MVC 2, ¿alguien sabe de una manera que puede lograr el mismo "contenedor" como plantilla en MVC?

¿Fue útil?

Solución 2

Gracias logré aquí es un ejemplo:

public static class Block
{
    public static BlockHelper BeginBlock(this System.Web.Mvc.HtmlHelper content, string title)
    {
        return new BlockHelper(content, title);
    }
}

public class BlockHelper : IDisposable
{
    private readonly HtmlHelper _content;
    private readonly HtmlHelper _title;

    public BlockHelper(System.Web.Mvc.HtmlHelper content, string title)
    {
        _content = content;
        StringBuilder sb = new StringBuilder();
        sb.Append("<div>");
        sb.Append("<div><h1>" + title + "</h1></div>");
        _content.ViewContext.Writer.Write(sb.ToString());
    }

    public void Dispose()
    {
         StringBuilder sb = new StringBuilder();
        sb.Append("</div>");
        _content.ViewContext.Writer.Write(sb.ToString());
    }
}

y luego utiliza básicamente de la siguiente manera:

<% using( Html.BeginBlock("TITLE>CONTENT GOES HERE<%}%>

Otros consejos

No habría varias maneras de hacer esto en MVC, pero probablemente sugerir el uso de una costumbre HTML ayudante .

No es un ejemplo de cómo implementar algo similar en este post . Busque la sección titulada "Creación de un ayudante DataGrid" en ese puesto para más información. Creo que va a ser capaz de adaptar ese ejemplo para adaptarse a su propósito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top