Простая строка. Вопрос формата для <a... class = "button" в mvc

Пример ссылки

<div style="float:right;"><a href="<%= Url.Content("~/Home/List") %>" class="button"><span>Return to List</span></a></div>

Я хочу иметь возможность прикрепить идентификатор в конце URL, который взят из моей модели, как показано ниже, в одной из моих многочисленных попыток

<div style="float:right;">(string.Format(<a href=\"{0}\{1}" %>, <% Url.Content("~/Test/Edit")%>, <% Model.Test.ID %>) "class="button"><span>Edit</span></a></div>

Я знаю, как сделать это с помощью ссылок действий, но я хочу сохранить тот же формат и создать кнопку.

Я знаю это работает

<%: Html.ActionLink("Edit", "Edit", new { Id = Model.Test.ID }) %>

Так кто-нибудь получил идеи для решения?

Спасибо.

2 ответа

Решение
<div style="float:right;">
    <a href="<%: string.Format("{0}/{1}", Url.Content("~/Test/Edit"), Model.Test.ID) %>" class="button">
        <span>Edit</span>
    </a>
</div>

должен сделать это, хотя вы могли бы использовать Url.Action Вот

<div style="float:right;">
    <a href="<%: Url.Action("Edit", "Test", new { id = Model.Test.ID }) %>" class="button">
        <span>Edit</span>
    </a>
</div>

Основное преимущество использования Url.Action в том, что вы привязали себя не к какой-либо конкретной схеме маршрутизации URL, а к контроллерам и методам действий, что позволяет вам изменять маршрутизацию, когда и как вам удобно.

Вы все еще можете использовать actionlink для этого, если вы просто хотите добавить к нему класс

<%: Html.ActionLink("Edit", "Edit", new { @id = Model.Test.ID }, new { @class = "button" }) %>

Это произведет то же самое, как если бы вы использовали другой метод.

Другие вопросы по тегам