2016-04-15 51 views
0

当我使用Pjax我的MVC应用程序像下面更改链接href和使用Javascript触发它的子(跨度)被点击

$(document).pjax('a', '#pjaxContainer'); 

我有了一个自定义的命令,它会打开详细信息页面剑道网格该行条目的

command.Custom("Details").Text("<i class='fa fa-pencil'></i>").Click("ProductDetailView")); }); 

,它看起来像这样

enter image description here

的JavaScript funcion:

function ProductDetailView(e) 
{ 
    var dataItem = this.dataItem($(e.target).closest("tr")); 
    var PK = dataItem.PKProduct; 
    e.target.href = "/Product/Details/" + PK; 
} 

的问题是,当我点击链接EXACTLY的铅笔图标只会把#中的URL并没有任何反应,但是当我点击绿地它工作正常。 我需要点击链接以某种方式触发pjax请求。

,这是表行

<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

你可以显示从你的剑道网格产生的渲染的HTML吗? –

+0

@teovankot我编辑的问题 – Gp17

回答

0

的渲染HTML我没有找到这个精确解,但我发现另一种方式来做到这一点。 而不是使用自定义命令我用如下柱模板:

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

和它的工作就像一个魅力。