2016-07-10 5 views
0

Я конвертирую и обновляю очень старый веб-сайт до C# MVC на данный момент, и я застрял в преобразовании нескольких гиперссылок.Как создать C# MVC Html ActionLink, содержащий значок?

Он используется, чтобы:

<a href="details.aspx" class="btn_red">Read More <i class="fa fa-eye"></i></a> 

и я попробовал несколько вещей, без везения ... Ближайший я пришел, чтобы просто перенесите значок:

@Html.ActionLink("Read More", "Details", new { id = item.ID }, new {@class= "btn_red"}) 

Как Я собираюсь добавить значок, и, хотя он чувствует себя правильно, должен ли я даже преобразовывать все ссылки, подобные этому, или, если я просто их модифицирую, поскольку они будут работать нормально?

ответ

3

Вспомогательный метод Html.ActionLink создает только ссылку, которая является всего лишь элементом a. То, что вы хотите сделать, это создать вложенную структуру, в которой элемент aсодержит элемент i. У вспомогательного метода нет возможности для этого. (Это не особенно HTML-семантическая структура, поэтому я сомневаюсь, что любые готовые инструменты будут делать это.)

Вы можете, однако, создать свою разметку немного более вручную. Что-то вроде этого:

<a href="@Url.Action("Details")" class="btn_red">Read More <i class="fa fa-eye"></i></a> 
+0

Честно говоря, я рад делать это таким образом, что вы предлагаете (и добавление ID), но я пытался следовать всем направляющей я прочитал в Интернете, которые говорят, чтобы использовать помощник Actionlink. Честно говоря, я делаю это, потому что они говорят! Есть ли преимущества? На мой взгляд, это просто больше обработки, и я не понимаю, почему я хотел бы использовать его по более простым стандартным ссылкам. – wil

+0

@wil: Если вы можете найти перегрузку вспомогательного метода, который делает то, что вы пытаетесь сделать, тогда непременно используйте его. Возможно, эти руководства, которые вы читали в Интернете, демонстрируют, как это сделать? Потому что я никогда лично не видел способ сделать это с помощью только «ActionLink». – David