我有表视图与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(items)。我想创建actionlink并将id值绑定到来自knockoutjs模型的(itemId)。
希望您理解我的问题
提前谢谢
答案 0 :(得分:24)
<a data-bind="attr: { 'href': '@Url.Action("Edit", "Manager")/' + itemId() }" class="cssClass">
Edit
</a>
答案 1 :(得分:1)
我不确定我明白你要做什么。但是这段代码
<td>@Html.ActionLink("Edit", "Edit", "Manager", new {id = <knockoutjs model itemId value here>}, new {@class = "cssClass"})</td>
不起作用,因为knockout是客户端javascript,而剃刀语法在服务器中执行并且只呈现html字符串。
为什么不用普通的html超链接替换@ Html.ActionLink
<a href="someurl" data-bind="attr: { href: Link }, text: SomeField"></a>