【发布时间】:2014-12-13 00:04:14
【问题描述】:
我通过 AJAX 调用调用 Action(返回 Json 中的列表)在表格中呈现数据。
输出: http://imageshack.com/a/img673/3484/zxZIqy.png
我想做的是让每个用户(表中的行)可链接到编辑页面(Admin/Edit/Id)。只需单击它们,或者在每行末尾都有一个编辑链接。 我不知道如何实现这一点。使用普通的剃刀语法会很容易。但是这个模板很适合用来实现这种动态数据表。
我正在使用一个名为 KODataTable 的模板来制作具有搜索和排序功能的表格。
查看..
<div id="kodt">
<div>
<input type="text" data-bind="value: searchText, valueUpdate: 'afterkeydown'" />
<select data-bind="value: selectedColumn, options: columns"></select>
<button data-bind="click: search">Search</button>
</div>
<div>
<table class="table table-striped table-hover">
<thead>
<tr data-bind="foreach: columns">
<th data-bind="text: $data, click: function() { $parent.sort($index()) }" style="cursor: pointer"></th>
</tr>
</thead>
<tbody data-bind="foreach: currentRows">
<tr data-bind="foreach: $parent.columns, click: function () { $root.selectRow($data); }, css: { 'success': $root.selectedRow() == $data }">
<td data-bind="text: $parent[$data]" style="cursor: pointer; text-align: center"></td>
</tr>
</tbody>
</table>
</div>
<div>
<button data-bind="click: firstPage">First</button>
<button data-bind="click: prevPage">Prev</button>
Page <span data-bind="text: currentPage() + 1"></span> of <span data-bind="text: pageCount"></span>
<button data-bind="click: nextPage">Next</button>
<button data-bind="click: lastPage">Last</button>
</div>
</div>
脚本..
<script>
var users = new Object();
$.getJSON("/Admin/GetUsers", function (data) {
users = data;
var TableDataVM = new KODataTable({
columns: ["Id", "Username", "RoleId", "CompanyId", ""],
rows: users,
});
ko.applyBindings(TableDataVM, document.getElementById("kodt"));
});
</script>
【问题讨论】:
标签: javascript jquery asp.net-mvc knockout.js