Замена для ITemplate в MVC? - PullRequest
       21

Замена для ITemplate в MVC?

0 голосов
/ 09 февраля 2010

В настоящее время у меня работает веб-сайт, я использую элемент управления, наследуемый от ITemplate, чтобы обернуть все мои пользовательские элементы управления.

По сути, это таблица с хорошей рамкой, и я могу вывести туда что угодно, поэтому если я изменю шаблон контейнера, все контейнеры на сайте изменятся ...

Сейчас я нахожусь в процессе перестройки всего приложения с использованием MVC 2, кто-нибудь знает, как я могу получить такой же «контейнер», как шаблон в MVC?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2010

Мне удалось спасибо, вот пример:

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());
    }
}

и затем я в основном использую его следующим образом:

<% using( Html.BeginBlock("TITLE>CONTENT GOES HERE<%}%>
0 голосов
/ 10 февраля 2010

Было бы несколько способов сделать это в MVC, но я бы, вероятно, предложил использовать пользовательский HTML Helper .

В этом посте есть пример того, как реализовать нечто подобное .Ищите раздел под названием «Создание помощника DataGrid» в , который публикует для получения дополнительной информации.Я думаю, что вы сможете адаптировать этот пример под свои цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...