2017-05-10 7 views
0

インデックスコントローラでIdとDateの値をアクションの結果(更新)に渡す必要があります。しかし、私は、コードの下に使用してパラメータを渡すことはできませんよ。コントローラのアクション結果に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 }); 

       }) 

私は.Action(「更新」、「インデックス」、新しい{ID = 123、日付=「2分の2000のような値を与えた場合/ 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のセレクタを設定する必要がありますあなたのIDと日付を取得するが、それはかなり簡単です。 ハッピーコーディング!

関連する問題