Добавление html.actionLink в JQuery Datatable

хотите добавить HTML.actionlink в JQuery Datatable.

Я работаю над этим существующим сайтом, созданным кем-то другим. Для добавления данных они использовали Jquery Datatable с новым для меня.

Это таблица данных:

             this.oUserList = $('#UserList').dataTable({
                "bLengthChange": false,
                "bSort": true,
                "bRetreive": true,
                "bDestroy": true,
                "aaSorting": [[0, "asc"]],
                "bProcessing": true,
                "sAjaxSource": "@Url.Action("GetUsers","Users")",
                "sAjaxDataProp": "Result",
                "aoColumns": [
                    { "mDataProp": function(source, type, val) {
                        return source.FirstName + ' ' + source.LastName;
                    }, "bSortable": true },
                    { (1st column },
                    { 2ndcolumn},
                    {
                        3rd column
                        }, "bSortable": false },
                    {
                        4th column
                        }, "bSortable": false
                    },
                    {
                        5th column
                        }, "bSortable": false
                    },

Вот где я хочу изменить его на ссылку действия

                    { (6th)
                        "mDataProp": function (source, type, val) {
                            return M2.JsonDateToString(source.DateLastLogin);
                        }, "bSortable": false
                    },

Мой 6-й столбец является дубликатом 5-го, но здесь мне нужна ссылка действия, например: (Как я обычно их реализую):

  <td>@Html.ActionLink("Edit Roles", "Edit", "Users", new { userName = "User\\" + u.UserName }, new { @class = "action" }) </td>

Итак, чего я не хочу, так это того, как добавить html actionLink в таблицу данных Jquery.


person m ali    schedule 18.11.2014    source источник


Ответы (2)


Используйте исходный объект json для создания привязки:

это должно работать

{ 
   "mDataProp": function (source, type, val) {
          return '<a href="/Home/Edit/'+source.UserName+'">Edit Roles</a>'

   }, "bSortable": false
},
person user733421    schedule 18.11.2014
comment
хм, нет ли способа использовать @Html.ActionLink или Url.Action. а не тег? - person m ali; 18.11.2014
comment
Я не уверен, но вы все равно не должны смешивать js с серверной частью. Есть много причин, почему вы не должны смешивать их. Например, если вы хотите имитировать свой код, вы не сможете или вам будет трудно это сделать. - person user733421; 18.11.2014
comment
Если вам нужно, чтобы ваша ссылка была динамической, почему бы вам не добавить ее в json? - person user733421; 18.11.2014

Используйте эту статью www.codeproject.com/Articles/155422/jQuery-DataTables-and-ASP-NET-MVC-Integration-Part

person Community    schedule 18.11.2014