2012-12-05 15 views
6

Il seguente codice sta funzionando bene in fase di sviluppo, non appena eseguo l'installazione nel server Web, si dice che potrebbe trovare la directory dei file. Devo cambiare il modello .client in modo che non sia codificato in modo rigido come prima. Pertanto, se eseguiamo la distribuzione sul server in cui il nome della cartella principale è diverso o la gerarchia cambia, la pagina viene comunque trovata.modello di colonna kendo ui grid collegamento di azione in mvc

Stavo pensando utilizzando @ Url.Action ma non sapete come in questo caso, da implementare in .CLientTemplate

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

risposta

6

Qualcosa del genere dovrebbe fare:

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

Ho ottenuto questo lavorando bene

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

Avevo bisogno di una colonna in più e un campo del pulsante di collegamento per andare alla pagina dei dettagli di un ustomer. Non ho bisogno di opzioni di filtro per questa colonna ed è per questo che lo rimuovo usando Filterable(false). Puoi anche fornire il contenuto del link e l'intestazione della colonna come sopra. Questo valore "/#= Id #'" è quello che passo al metodo di azione del controller.

3

Nel caso in cui si utilizzi l'associazione server (a differenza di ajax) e il Rasoio come motore di visualizzazione, ecco un esempio. Ho bisogno di un collegamento come/Controller/Azione/Id dove Id è ottenuto da una proprietà del modello. Si noti che @item indica l'istanza del modello attualmente elaborata dalla griglia.

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

Ho visto 87 diversi esempi di questo e nessuno di loro ha funzionato. Questo è quello che finalmente ho fatto e ha funzionato, ed è semplice come diamine.

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