2016-04-15 9 views
0

Ich verwende Pjax meine MVC-Anwendung wie untenÄndern link href und es mit Javascript Auslösung, wenn sein Kind (Span) geklickt wird

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

ich ein Kendo-Gitter haben, die einen benutzerdefinierten Befehl hat die Detailseite öffnen der Zeileneintrag

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

und es sieht aus wie dieses

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

das Problem ist, wenn ich den Link GENAU auf das Symbol klicken Bleistift es fügt nur # url und nichts passiert, aber wenn ich Grünfläche klicken funktioniert es einwandfrei. Ich muss irgendwie pjax Anfrage auf Klick des Links auslösen.

und dies ist die gerenderte HTML der Tabellenzeile

<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

Können Sie gerenderten HTML-Code anzeigen, der von Ihrem Kendo-Raster erzeugt wurde? –

+0

@teovankot Ich habe die Frage bearbeitet – Gp17

Antwort

0

ich nicht exakte Lösung für diese gefunden haben, aber ich fand einen anderen Weg, es zu tun. Statt Benutzerdefinierte Befehl verwenden I Spalte Vorlage wie folgt:

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

und es funktionierte wie ein Charme.