Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Html.DisplayFor / 6 сообщений из 6, страница 1 из 1
10.01.2015, 01:05
    #38851064
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
Есть элемент на форме детализации.

Код: c#
1.
2.
3.
<dd>
      @Html.DisplayFor(modelItem => item.BKColor)
</dd>


Как покрасить этот гребаный элемент в цвет из item.BKColor? Т.е. добавить к <dd> inline style. Поиск успехов не принес :(
...
Рейтинг: 0 / 0
10.01.2015, 04:15
    #38851087
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
Relic HunterЕсть элемент на форме детализации.

Код: c#
1.
2.
3.
<dd>
      @Html.DisplayFor(modelItem => item.BKColor)
</dd>



Как покрасить этот гребаный элемент в цвет из item.BKColor? Т.е. добавить к <dd> inline style. Поиск успехов не принес :(

Красить надо в шаблоне для типа, которым является item.BKColor, красить с помощью HTML атрибута style.
...
Рейтинг: 0 / 0
10.01.2015, 05:07
    #38851094
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
hVostt,

Пробовал и new {@class="myclass"} и new {@style="background-color:somecolor"} - стили не применяются. Дайте, плиз, рабочий скетч. А то...

ПС
Кто такой "шаблон типа"?
...
Рейтинг: 0 / 0
10.01.2015, 09:03
    #38851117
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
Relic HunterhVostt,

Пробовал и new {@class="myclass"} и new {@style="background-color:somecolor"} - стили не применяются. Дайте, плиз, рабочий скетч. А то...

ПС
Кто такой "шаблон типа"?

И не должно применяться, так как в DisplayFor не передаются HtmlAttributes .

Шаблон типа, это в папке Views\Shared\DisplayTemplates\ надо положить файл <TypeName>.cshtml , где <TypeName> — это наименование типа.

Например, типом item.BKColor является некая структура MyColor , тогда создаём файл Views\Shared\DisplayTemplates\MyColor.cshtml со следующим содержанием:

Код: html
1.
2.
3.
4.
5.
@model MyColor

<span style="background: @String.Format("#{0:x2}{1:x2}{2:x2}", Model.R, Model.G, Model.B)">
   @Model.Name
</span>



На случай, если item.BKColor не имеет своего собственного типа, а представлен, допустим, строкой (String), то надо вызывать DisplayFor , указывая имя шаблона конкретно, а в шаблоне рисовать свой HTML код, какой надо:

Код: html
1.
@Html.DisplayFor(modelItem => item.BKColor, "ИмяШаблона")



Views\Shared\DisplayTemplates\ИмяШаблона.cshtml :

Код: html
1.
2.
3.
@model string

<span style="background: @Model">@Model</span>



То есть, для такого шаблона в item.BKColor должно лежать стандартное имя цвета или его код с префиксом #.
...
Рейтинг: 0 / 0
10.01.2015, 09:32
    #38851124
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
Ух ты, полезно.
Пробывал играть с Шаблонами пару дней назад и с налету не получилось.
Читал что формат даты в них можно задавать.
...
Рейтинг: 0 / 0
12.01.2015, 23:24
    #38852655
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Html.DisplayFor
hVostt,

Спасибо.

Оч. геморно, но работает :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Html.DisplayFor / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]