Как я могу создавать повторно используемые виджеты и определять содержимое виджетов в моем представлении? - PullRequest
0 голосов
/ 29 ноября 2011

Я хочу создать многократно используемые виджеты для веб-сайта, созданного с помощью ASP.NET MVC и Razor. По сути, я хочу, чтобы в моем представлении было какое-то содержимое, а перед этим и после него отображался HTML, например, такой псевдокод:

@widget("MyWidget")
{
   This is the content.
}

MyWidget.cshtml будет содержать макет виджета, а при вызове @RenderBody из макета будет выводиться This is the content.

Моя текущая реализация требует, чтобы я поместил содержимое виджета в отдельный файл от представления, и я хотел бы избежать этого.

На мой взгляд, я могу отобразить виджет, вызвав Html.Partial, например:

<div class="col_6 last">
    @Html.Partial(@"Widgets\MyWidget")
</div>

Частичное MyWidget.cshtml содержит только содержимое виджета, а фактический виджет "chrome" помещается в WidgetLayout.cshtml, на который ссылается частичное, как это:

@{
    Layout = "/Views/Shared/WidgetLayout.cshtml";    
}
<p>   
    This is the widget content.
</p>

1 Ответ

0 голосов
/ 29 ноября 2011

Вы должны создать Html-помощник, который вы будете использовать в блоке using( ), аналогично using(Html.BeginForm()), который рекламирует тег <form> сверху и </form> в конце

.также имеет отношение и получил ответ Здесь

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