代码之家  ›  专栏  ›  技术社区  ›  Tassadaque

客户端模板telerik MVC网格的actionLink问题

  •  2
  • Tassadaque  · 技术社区  · 15 年前

    我使用Telerik网格呈现用户收到的备忘录,下面是代码

    <%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();          
      %> 
    

    在绑定第三列(主题)时,我的目的是创建一个actionLink,其中主题是显示文本,我希望动态ID来自 <#=MemoID#> . 备忘录ID工作正常,并提供动态备忘录ID的链接。问题出在主题上,即( "<#=Subject#>" )在屏幕上呈现,而不映射到备忘录的实际主题。我也试过了( "<%#=Subject%>" )但没有收获。任何帮助都非常感谢

    当做

    2 回复  |  直到 15 年前
        1
  •  12
  •   ozz    14 年前

    也许你现在有点晚了,但也许这能帮助其他人:

    我通过模板来实现这一点,如下所示:

    columns.Bound(c => c.ID).ClientTemplate(
    
               Html.ActionLink("<#= SomeTextValue #>", "SomeAction", "SomeController", new { ID = "<#= ID #>" }, null).ToString()
    
          ).Title("");
    
        2
  •  1
  •   Ju66ernaut    10 年前

    我意识到这已经很晚了,但是我有一个非常相似的问题,我最终发现了,这个链接是在搜索结果中出现的。
    我试图添加一个 ActualLink 到MVC网格的客户端模板。最后发现问题源于updateTargetID=“myElement”。 AcAcon链接 为更新目标生成未捕获的“”。
    我的工作是:

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


    然后:

    function myJSFunction(response) {
        $("#updateTargetElement").html(response);
    }
    
    推荐文章