Ответ 1
<a data-bind="attr: { 'href': '@Url.Action("Edit", "Manager")/' + itemId() }" class="cssClass">
Edit
</a>
У меня есть привязка к таблице с помощью модели knockoutjs.
<tbody data-bind="foreach: items, visible: items().length > 0">
<tr>
<td data-bind="text: Title"></td>
<td data-bind="text: Type"></td>
<td data-bind="text: Author"></td>
<td data-bind="text: Description"></td>
<td data-bind="text: Time"></td>
<td data-bind="text: Publisher"></td>
<td data-bind="text: itemId"></td>
<td>@Html.ActionLink("Edit", "Edit", "Manager", new {id = <knockoutjs model itemId value here>}, new {@class = "cssClass"})</td>
</tr>
</tbody>
Я объясню код. У меня есть модель knockoutjs, которая содержит itemArray (элементы). Я хочу создать actionlink и значение идентификатора привязки (itemId), которое исходит из модели knockoutjs.
Надеюсь, вы поймете мою проблему.
Заранее благодарю
<a data-bind="attr: { 'href': '@Url.Action("Edit", "Manager")/' + itemId() }" class="cssClass">
Edit
</a>
Я не уверен, что понимаю, что вы пытаетесь сделать. Но этот код
<td>@Html.ActionLink("Edit", "Edit", "Manager", new {id = <knockoutjs model itemId value here>}, new {@class = "cssClass"})</td>
не будет работать, потому что нокаут - это javascript на стороне клиента, а синтаксис бритвы выполняется на сервере и отображает только строку html.
Почему бы не заменить @Html.ActionLink на нормальную гиперссылку html
<a href="someurl" data-bind="attr: { href: Link }, text: SomeField"></a>