13

我有与 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>

我将解释代码。我有包含 itemArray(items) 的 knockoutjs 模型。我想创建actionlink并将id值绑定到来自knockoutjs模型的(itemId)。

希望你能理解我的问题

先感谢您

4

2 回答 2

24
<a data-bind="attr: { 'href': '@Url.Action("Edit", "Manager")/' + itemId() }" class="cssClass">
    Edit
</a>
于 2013-01-27T13:52:39.283 回答
1

我不确定我是否理解您要执行的操作。但是这段代码

<td>@Html.ActionLink("Edit", "Edit", "Manager", new {id = <knockoutjs model itemId value here>}, new {@class = "cssClass"})</td>

将不起作用,因为敲除是客户端 javascript,而 razor 语法在服务器中执行并且仅呈现 html 字符串。

为什么不用普通的 html 超链接替换 ​​@Html.ActionLink

<a href="someurl" data-bind="attr: { href: Link }, text: SomeField"></a>
于 2013-01-27T13:47:12.413 回答