Проблема ActionLink с шаблоном клиента Teleerik MVC Grid

StackOverflow https://stackoverflow.com/questions/3043065

  •  27-09-2019
  •  | 
  •  

Вопрос

Я использую Telerik Grid для представления MemoS, полученных пользователем ниже, это код

<%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, где субъект - это текст отображения, и я хочу, чтобы динамический идентификатор <#=MemoID#>. Отказ MEMO ID работает нормально и дает мне связь с динамическими идентификаторами памятки. Проблема с предметом, т.е."<#=Subject#>") отображается как на экране без отображения на фактический предмет памятки. Я также пробовал ("<%#=Subject%>") Но без усиления. Любая помощь высоко ценится

С уважением

Это было полезно?

Решение

Бит поздно сейчас, может быть, для вас, но, возможно, это поможет другим:

Я делаю это через шаблоны следующим образом:

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

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

      ).Title("");

Другие советы

Я понимаю, что это довольно поздно, но у меня была очень похожая проблема, которую я наконец выяснил, и эта ссылка возникла во время результатов поиска.
Я пытался добавить Ajax.actionLink. на шаблон клиента для MVC Grid. Наконец нашел проблему для стебля от UpdateTarGetId = «MyElement».Ajax.actionLink. генерирует необоснованный «#» для цели обновления.
Моя работа вокруг была:

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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top