2016-11-05 3 views
0

Ich versuche eine dynamische @Html.ActionLink mit JQuery erstellen und ich kann das nicht tun.Wie erstellt man einen dynamischen @ Html.ActionLink mit JQuery?

Wie könnte ich das tun?

versucht

$('#tableView > tbody').empty(); 
    if (data["CategoriaProduto"].length > 0) { 
     $.each(data["CategoriaProduto"], function (i, cp) { 
      var editLink = $('@Html.ActionLink("Edit", "edit", "CategoriaProduto"), new {id = ' + cp.id + '}');   

      $('#tableView > tbody:last-child').append('<tr>' 
                + '<td class="text-capitalize small">' + cp.descricao + '</td>' 
                + '<td class="col-md-1">' + editLink + '</td>' 
                + '</tr>'); 
     }); 
    } 
+1

Sie können nicht. Der Razor-Code wird auf dem Server ausgewertet, bevor er auf die View aufgefüllt wird - Ihre JavaScript-Variable existiert zu diesem Zeitpunkt nicht. Sie können '@ Html.ActionLink (" Edit "," edit "," CategoriaProduto ")' verwenden, um die Basis-URL zu generieren und dann den Routenwert im Skript anzufügen, indem Sie das 'href'-Attribut ändern –

Antwort

1

Die kurze Antwort ist, können Sie nicht.

Der Befehl @Html.ActionLink() muss auf dem Server aufgelöst werden, bevor die Seite an den Browser des Clients gesendet wird. jQuery funktioniert nur im Browser des Clients.

Was Sie jedoch tun können, ist es im Browser zu rendern und kopieren Sie dann die resultierende HTML zB. <a href="/Edit/CategoriaProduto">My Link</a> oder was auch immer der Ausgang sein wird, und dieses Format in Ihrer Schleife verwenden.

0

für jede Zeile, die Sie angeben können und Auto-ID, und diese ID als Parameter an Controller übergeben. und das ist dynamische URL-Erstellung.

Verwandte Themen