2017-01-18 5 views
0

У меня есть общий элемент HTML, как этотЛучший способ дать пользовательские свойства элементов в C# Webform

<span v-bind:class="{ available: days.timeOne }" data-time="10:00" data-date="{{ days.date }}" class="home__visit-featured-days-item-buttons-time">10:00</span> 

Который, когда он визуализируется, оказывает теги vuejs раздевание.

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

Есть ли атрибут, похожий на ClientIDMode, который я могу использовать, чтобы остановить удаление этих тегов?

+0

Я просто попробовал его в Kentico 10, и он отлично работает (атрибуты получаются). Даже если выходной фильтр включен. Какую версию Kentico вы используете? – rocky

ответ

0

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

https://www.google.com/search?q=ckeditor%20protectedsource&rct=j

+0

Нет, это прямо в файл .ascx WebControl – OnIIcE

+0

О, как в этом файле \ CMS \ CMSModules \ ApplicationDashboard \ ApplicationDashboard.aspx? – JanH

2

ASP.NET WebForms будет вырезать атрибуты для сервера (с runat="server"), когда атрибуты содержат символы двоеточия (:), потому что эти атрибуты не могут перевести на свойства класса в конце. Тем не менее, не-серверные элементы управления (то есть необработанная разметка) должны просто отображать как записано в файл ascx.

Ваш пример не имеет атрибута runat="server", поэтому я ожидаю, что оно будет отображаться как написано. Если, однако, это серверный элемент управления, вы можете просто использовать необработанную разметку?

Если это должно быть управление сервером, я думаю, что ваш единственный вариант - добавить свой атрибут в код позади, как вы упомянули, например. myControl.Attributes.Add("v-bind:class", "{ available: days.timeOne }");

 Смежные вопросы

  • Нет связанных вопросов^_^