2012-12-05 4 views
6

Poniższy kod działa dobrze w rozwoju, jak tylko wdrożyć w serwerze sieciowym powiedział może znaleźć katalog plików. Muszę zmienić szablon .client, aby nie był tak źle zakodowany jak wcześniej. Jeśli więc wdrożyliśmy serwer, na którym zmieniła się nazwa folderu głównego lub zmieniła się hierarchia, nadal znajduje się strona.Szablon kolumny kendo ui grid mvc action link

Myślałam użyciu @ Url.Action ale nie wiem, jak w tym przypadku, aby wdrożyć w .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"); 

Odpowiedz

6

Coś jak to powinno zrobić:

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

Mam ten jeden działa poprawnie

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

Potrzebowałem dodatkowej kolumny i pola przycisku linku, aby przejść do strony szczegółów ac ustomer. Nie potrzebuję opcji filtrowania dla tej kolumny i dlatego usuwam ją przy użyciu Filterable(false). Możesz także podać zawartość linku i nagłówek kolumny, jak powyżej. Ta wartość to "/#= Id #'", którą przekazuję do metody akcji kontrolera.

3

Jeśli używasz bindowania serwera (w przeciwieństwie do ajax) i Razor jako mechanizmu wyświetlania, oto przykład. Potrzebuję łącza takiego jak/Controller/Action/Id, gdzie Id jest uzyskiwany z właściwości modelu. Zwróć uwagę, że @item oznacza instancję modelu aktualnie przetwarzaną przez siatkę.

0

Widziałem 87 różnych przykładów tego i żaden z nich nie zadziałał. Tak właśnie zrobiłem i zadziałało, i to jest proste jak cholera.

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