2013-10-25 4 views
8

У меня есть следующие ссылки:Как вынести ссылку с классом CSS с Sitecore Glass Mapper

<a class="btn btn-primary" href="#">View details »</a> 

Как я могу вынести связь с Sitecore стеклом, что она по-прежнему держит класс CSS? С полевым рендерером в sitecore вы использовали возможность передать класс в качестве дополнительных параметров, как это работает со стеклом?

Это то, что я до сих пор:

@RenderLink(x => x.Link) 

Это только делает ссылку без класса, хотя.

Любая помощь приветствуется. Спасибо.

ответ

17

Вы также можете сделать PageEditor поддержкой версии, как это и должно автоматически принимать атрибут класса во внимание:

@Editable(Model, x => x.Link) 

Или когда вы используете RenderLink, вы можете передать коллекцию с атрибутом класса:

@RenderLink(x => x.Link, new System.Collections.Specialized.NameValueCollection { { "class", "btn btn-primary" } }) 

EDIT: Модифицированный пример рабочего кода и добавил форматирование примера для редактируемого

Вы можете указать формат Редактируемый:

@(Editable<YourModelType>(Model, x => x.Link, string.Format("<a href=\"{0}\" class=\"btn btn-primary\">{1}</a>", x.Link.Url, x.Link.Text))) 
+0

Hi Ruud, спасибо за ваш ответ: это похоже на работу: @ (RenderLink (x => x.Link, new System.Collections.Specialized.NameValueCollection {{"class", "btn btn-primary"} }, isEditable: true)), как бы передать класс в первом примере? – 5earch

+0

Добавлен еще один пример для Editable –

+0

@RuudvanFalier - это, похоже, не работает с BeginRenderLink - он говорит, что класс нельзя использовать как назначение или цель. Кроме того, у меня нет оранжевых брюк, это проблема? – PeterG

1

Я написал вспомогательный класс с использованием Fluent API, чтобы вы могли легко добавлять атрибуты HTML в стеклянные помощники.

См блог здесь: http://mikerobbins.co.uk/2015/07/29/sitecore-razor-glass-attribute-helper-methods-fluent-api/

Вы можете использовать помощника, как это:

@Editable(x => x.Link,new HtmlAttributes().CssClass("Link").Render()) 
+0

Где именно есть HTMLAttributes? – Jawad

6

@Editable (х => x.Link, новый {@class = "БТН БТН-первичный"})

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