Подтвердить что ты не робот

Как связать значение knockoutjs с MVC Action Link (id)

У меня есть привязка к таблице с помощью модели 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.

Надеюсь, вы поймете мою проблему.

Заранее благодарю

4b9b3361

Ответ 1

<a data-bind="attr: { 'href': '@Url.Action("Edit", "Manager")/' + itemId() }" class="cssClass">
    Edit
</a>

Ответ 2

Я не уверен, что понимаю, что вы пытаетесь сделать. Но этот код

<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>