2016-04-15 84 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); 

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