Редактировать строку вывода Html.ActionLink - PullRequest
1 голос
/ 12 марта 2010

Я пытаюсь вывести следующий HTML-код, используя Html.ActionLink:

<a href="/About" class="read-more">Read More<span class="arrow">→</span></a>

Я получаю это с помощью ActionLink, который выводит тег <a>, а затем манипулирует строкой.

<%= Html.ActionLink("[[replace]]", "Index", "About", null, new { @class = "read-more" }).ToHtmlString().Replace("[[replace]]", "Read More" + "<span class='arrow'>→</span>")%></p>

Было бы хорошо, если бы я мог поместить HTML прямо в ActionLink, но, похоже, нет способа, основанного на моих интернет-поисках. Конечно, это работает, но это похоже на взлом. Есть ли лучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 03 мая 2010

Аарон ... Ты с этим разобрался?

Я использую Url.Action в атрибуте href, когда мне нужно что-то другое, чем просто текст ссылки в выводимом HTML.

<a href="<%= Url.Action("About") %>" class="read-more">Read More<span class="arrow">→</span></a>

Надеюсь, это поможет.

Ура, -jc

1 голос
/ 12 марта 2010

Если вам нужна только стрелка и вы можете использовать изображение, вы можете использовать таблицу стилей, чтобы поместить это изображение после ссылки

.readmore-link{background-image: url('/image.png'); padding-right: 16px; /*...*/}

просто настроить положение изображения и т. Д.

В противном случае я бы рекомендовал написать метод расширения для HtmlHelper.

1 голос
/ 12 марта 2010

Вы можете написать свой собственный вспомогательный класс HTML и сделать его подходящим для любых потребностей. Я уже писал несколько ранее, и те из них, которые вы получаете с MVC, являются лишь началом.

Вот ссылка с руководством. И вот и официальное видео MS о том, как.

...