Jquery表中的ActionLink

时间:2015-08-14 12:21:30

标签: javascript jquery asp.net-mvc-4

我是mvc和jquery的新手,

我用jquery创建了一个表,但我不知道如何在每一行中添加一个actionlink,我还需要在onclick事件上调用一个函数。

我的代码如下:

 function loadData(data) {

            var tab = $('<table class="myTable"></table>');
            var thead = $('<thead></thead>');
            thead.append('<th>Id</th><th></th>');
            thead.append('<th>Username</th>');



            tab.append(thead);
            $.each(data, function (i, val) {

                var trow = $('<tr></tr>');
                trow.append('<td>' + val.empID + '</td>');
                trow.append('<td>' +"" + '</td>');
                trow.append('<td>' + val.empName + '</td>');
                trow.append('<td>' + '@Html.ActionLink("Edit", "Edit", new { id = val.empID })' + '</td>');


                tab.append(trow);
            });

这里我有一个错误

&#34; val不在当前上下文中#34;

请任何人帮我添加一个带有点击事件的actionlink。

2 个答案:

答案 0 :(得分:0)

您可以通过更改以下代码来实现此目的。

function loadData(data) {    
            var tab = $('<table class="myTable"></table>');
            var thead = $('<thead></thead>');
            thead.append('<th>Id</th><th></th>');
            thead.append('<th>Username</th>');    
            tab.append(thead);
            $.each(data, function (i, val) {

                var trow = $('<tr></tr>');
                trow.append('<td>' + val.empID + '</td>');
                trow.append('<td>' +"" + '</td>');
                trow.append('<td>' + val.empName + '</td>');
                trow.append('<td><a href="/ControllerName/ActionName/"'+val.empID+'"></a></td>');


                tab.append(trow);
            });

试试这个并告诉我,如果您需要更多信息。

答案 1 :(得分:0)

以下代码完美运行并使用Control动态绑定表。

function bindTable (data)
{
usersTable = $('<table><thead><tr>'
             + '<th style="width: 300px;">Col 1</th><th>Col 2</th><th>Col 3</th><th>Col 4</th><th>Col 5</th>'
             + '</tr></thead ></table>').attr({ class: ["dataTable row-border hover"].join(' '), id: "table", style: "border: 1px solid; background-color:#d2d2d2;" });
             var rows = new Number("10");
             var cols = new Number("4");
             var tr = [];
             if (data != null) {
              for (var i = 0; i < data.length; i++) {                           
              var row = $("<tr></tr>").attr({ class: ["class1", "class2", "class3"].join(' ') }).appendTo(table);
              $("<td></td>").html(data[i].Col1).appendTo(row);
              $("<td></td>").html(data[i].Col2).appendTo(row);
              $("<td></td>").html(data[i].Col3).appendTo(row);
              $("<td></td>").html(data[i].Col4).appendTo(row);
              $("<td></td>").html($('<a href=/ControllerName/Action?ParamId='+data[i].Id+'>Action</a>')).appendTo(row);

              }
            }
           table.appendTo("#Div");
            $("#table").DataTable({
            "aoColumns": [null, null, null, null, { "bSortable": false }]
            });
}