我正在使用Pjax我的mvc应用程序,如下所示
$(document).pjax('a', '#pjaxContainer');
我有一个kendo网格,它有一个自定义命令,可以打开行条目的详细信息页面
command.Custom("Details").Text("<i class='fa fa-pencil'></i>").Click("ProductDetailView")); });
它看起来像这个
javascript funcion:
function ProductDetailView(e)
{
var dataItem = this.dataItem($(e.target).closest("tr"));
var PK = dataItem.PKProduct;
e.target.href = "/Product/Details/" + PK;
}
问题是,当我单击铅笔图标上的链接时,它只会将#添加到网址并且没有任何反应,但是当我点击绿色空间时它可以正常工作。 我需要以点击链接的方式触发pjax请求。
这是表格行
的呈现HTML <tr data-uid="c3ddb2d3-5847-4cf7-b892-e2ce49d1db38" role="row">
<td role="gridcell">
<a class="k-button k-button-icontext k-grid-Details Maintenance" href="#">
<span class=" "></span>
<i class="fa fa-pencil"></i>
</a>
</td>
<td role="gridcell">2</td>
<td role="gridcell">Brandie</td>
<td role="gridcell">3</td><td role="gridcell">British Product</td>
<td data-value-primitive="True" role="gridcell"></td><td role="gridcell">No</td>
</tr>
答案 0 :(得分:0)
我没有为此找到确切的解决方案,但我找到了另一种方法。 而不是使用自定义命令我使用列模板如下:
Columns.Template(x => { }).ClientTemplate(
"<a class='k-button' href='" +
Url.Action("Details", "Product") +
"?id=#= PKProduct #'" +
"><i class='fa fa-pencil'></i></a>"
).Hidden(false).Width(100);
它就像一个魅力。