2017-05-10 2 views
0

색인 컨트롤러에서 작업 결과 (업데이트)에 ID 및 날짜 값을 전달해야합니다. 하지만 코드 아래 사용하여 매개 변수를 전달할 수 없습니다입니다 :컨트롤러 작업 결과에 telerik 그리드 열 값 전달

@(Html.Telerik().Grid(Model) 
      .Name("NotesDetails") 
        .DataBinding(dataBinding => dataBinding.Ajax().Select("ListAjax", "NotesDetails")) 
       .Columns(columns => 
       { 

        columns.Bound(o => o.Flag).Visible(false).Title("Flag"); 
        columns.Bound(o => o.Id).Visible(false).Title("Id"); 
        columns.Command(commands => 
        { 
         commands.Custom("Flag value") 
           .Text("<img id='flag' width='20' height='10' src = '/Content/images/Flag.png' >") 
           .Ajax(true) 
           .Action("Update", "Index", new { id=#-Id#, date = #-Date# }); 
        }).Title("Flag"); 

        columns.Bound(o => o.Date).Visible(true).Title("Date"); 
        columns.Bound(o => o.Author).Visible(true); 
        columns.Bound(o => o.Task).Visible(true); 

       }) 
      .Pageable(pager => 
       { 
        pager.Style(GridPagerStyles.PageSizeDropDown | GridPagerStyles.NextPrevious); 
        pager.Position(GridPagerPosition.Both); 
        pager.PageSize(50, new int[] { 50, 100, 500 }); 

       }) 

나는 ("업데이트", "인덱스"새 {ID = 123, 날짜 = "2분의 2,000을 .Action 같은 값을주는 경우에/2 "}); 내가 미리 결과를

감사를 얻고있다

답변

0

우리는

command.Custom("Update").Click("jQueryFilename.functionName").Text("Refresh User") 

및 jQuery를에 JQuery와 방법으로이 문제를 해결할 :

jQueryFilename.functionName = function(e) { 
    e.preventDefault(); 
    var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 
    var json = JSON.stringify(dataItem); 
    $.ajax({ 
     url: Controllername/Index, 
     type: 'POST', 
     contentType: "application/json", 
     data: json 
    }).done(function() { 
     var grid = $("#Grid").data("kendoGrid"); 
     grid.dataSource.read(); 
     grid.refresh(); 
    } 
    ); 
} 

당신이 얻을의 jQuery 셀렉터를 설정해야합니다 당신의 아이디와 날짜를 얻으려면 꽤 똑바르다. 해피 코딩!

관련 문제