2010-06-15 4 views
2

J'utilise la grille Telerik pour présenter des notes reçues par l'utilisateur est le code ci-dessousActionLink problème avec modèle client grille Telerik MVC

<%Html.Telerik().Grid<UserManagement.Models.SentMemos>() 
    .Name("ReceivedMemos") 
    .Sortable(sorting => sorting 
     .OrderBy(sortOrder => sortOrder.Add(o => o.MemoDate).Descending()))   
    .DataBinding(dataBinding => dataBinding 
     //Ajax binding 
    .Ajax() 
    //The action method which will return JSON 
    .Select("_AjaxBindingReceivedMemos", "OA") 

     ). 
     Columns(colums => 
     { 
      colums.Bound(o => o.MemoID).ClientTemplate(Html.ActionLink("Reply", "ReplyMemo", "OA", new { MemoID = "<#=MemoID#>"}, null).ToString()).Title("Reply").Filterable(false).Sortable(false); 
      colums.Bound(o => o.MemoID).ClientTemplate(Html.ActionLink("Acknowledge", "PreviewMemo", "OA", new { id = "<#=MemoID#>"}, null).ToString()).Title("Acknowledge").Filterable(false).Sortable(false); 
      colums.Bound(o => o.Subject).ClientTemplate(Html.ActionLink("<%#=Subject#>", "PreviewMemo", "OA", new { id = "<#=MemoID#>" }, null).ToString()).Title("Subject"); 
      //colums.Bound(o => Html.ActionLink(o.Subject,"PreviewMemo","OA",new{id=o.MemoID},null).ToString()).Title("Subject"); 
      colums.Bound(o => o.FromEmployeeName); 
      colums.Bound(o => o.MemoDate); 
      }) 
    .Sortable() 
    .Filterable() 
    .RowAction((row) => 
    {    
      row.HtmlAttributes.Add("style", "background:#321211;"); 
    }) 
    .Pageable(pager=>pager.PageSize(6)) 
    .PrefixUrlParameters(false) 

     //.ClientEvents(events => events.OnRowDataBound("onRowDataBound")) 
     .Render();   
    %> 

où je suis RELIURE troisième colonne (Objet) mon intention est de faire une ActionLink où sujet est le texte affiché et je veux un ID dynamique venant de <#=MemoID#>. memo id fonctionne bien et me donne un lien avec les ID Memo dynamiques. le problème est avec le sujet i.e ("<#=Subject#>") est rendu tel qu'il est sur l'écran sans correspondre à l'objet réel du mémo. J'ai aussi essayé ("<%#=Subject%>") mais sans aucun gain. toute aide est très appréciée

Cordialement

Répondre

12

peu tard peut-être pour vous, mais peut-être que cela aidera les autres:

Je le fais via des modèles, comme suit:

columns.Bound(c => c.ID).ClientTemplate(

      Html.ActionLink("<#= SomeTextValue #>", "SomeAction", "SomeController", new { ID = "<#= ID #>" }, null).ToString() 

    ).Title(""); 
1

Je me rends compte C'est assez tard mais j'ai eu un problème très similaire que j'ai finalement compris et ce lien est apparu pendant les résultats de recherche.
J'essayais d'ajouter un Ajax.Actionlink à un modèle de client pour la grille MVC. Enfin trouvé le problème à provenir de UpdateTargetID = "myElement". Ajax.ActionLink génère un "#" non échappé pour la cible de mise à jour.
Mon travail autour était:

columns.Bound(p => p.ID).Title("myTitle") 
          .ClientTemplate(Ajax.ActionLink("View", "myAction", "myController", new { myParam = "#=ID#" }, new AjaxOptions() { OnSuccess = "myJSFunction" }).ToHtmlString()); 


Puis:

function myJSFunction(response) { 
    $("#updateTargetElement").html(response); 
} 
Questions connexes