2012-12-05 7 views
6

Der folgende Code funktioniert gut in der Entwicklung, sobald ich im Web-Server bereitstellen, sagte es Dateiverzeichnis finden konnte. Ich muss die .client Schablone so ändern, dass sie nicht wie vorher hart codiert wird. Wenn wir also auf dem Server bereitstellen, bei dem der Name des obersten Ordners oder die Hierarchie sich ändern, wird die Seite immer noch gefunden.Spalte Vorlage Kendo UI Gitter Mvc Aktion Link

Ich war mit @ Url.Action denken, aber nicht sicher, wie in diesem Fall in .CLientTemplate wie diese

columns.Template(@<text> 
      @Html.ActionLink(@item.FirstName, "Index", "Summary", new { testId = @item.FirstName }) 
     </text>) 
      .ClientTemplate("<a href='/Summary/Index/?testId =#= TestId #'>#=FirstName#</a>").Title("First Name"); 

Antwort

6

Etwas zu implementieren tun sollten:

.ClientTemplate("<a href='" + Url.Action("Index", "Summary", new { testId = "#=TestId#" }) + "'>#=FirstName#</a>") 
6

ich diese bekam adaequat

columns.Bound(a => a.Id) 
     .Title("Action") 
     .Filterable(false) 
     .ClientTemplate(
         "<a href='" 
         + Url.Action("ActionName", "Controller") 
         + "/#= Id #'" 
         + ">View</a>" 
        ); 

Ich brauchte eine zusätzliche Spalte und ein Link-Button-Feld für die Detailseite von ac gehen Benutzer. Ich brauche keine Filteroption für diese Spalte und deshalb entferne ich sie mit Filterable(false). Sie können auch den Linkinhalt und die Spaltenüberschrift wie oben angeben. Dieser Wert "/#= Id #'" ist der Wert, den ich an die Controller-Aktionsmethode übergebe.

3

Falls Sie Server-Binding (im Gegensatz zu Ajax) und Razor als View-Engine verwenden, hier ein Beispiel. Ich brauche einen Link wie/Controller/Action/Id wo Id aus einer Eigenschaft des Modells erhalten wird. Beachten Sie, dass @item die Modellinstanz bezeichnet, die derzeit vom Grid verarbeitet wird.

columns.Template(@<text>@Html.ActionLink(AbaScore.Resources.App.Edit,"ACTION", "CONTROLLER", new { @item.Id }, null)</text>) 
0

Ich habe 87 verschiedene Beispiele dafür gesehen und keiner von ihnen hat funktioniert. Das ist es, was ich endlich getan habe und es hat funktioniert, und es ist so einfach wie wahnsinnig.

columns.Bound(p => p.member_id) 
     .ClientTemplate("<a href='/members/details/#=member_id#'>Details</a>") 
     ; 
Verwandte Themen