Простая строка. Вопрос формата для <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" }) %>
Это произведет то же самое, как если бы вы использовали другой метод.