如何将Json Data中的值附加到mvc4中的Actionlink

时间:2013-02-20 07:31:32

标签: asp.net-mvc-4 actionlink razor-2

从Json获取的数据我曾经以行的形式附加到表中。列的第一个数据需要以链接格式出现。所以我使用了ActionLink。但是我得到以下错误"名称&# 39; Transaction_No'在当前上下文中不存在"。

function CreateGrid(result) {

    $.ajaxSetup({
        cache: false
    });


    for (i = 0; i < result.data.length; i++) {
        debugger;
        var chk_row = true;
        $('#tbl_RoleMenu tbody').empty().append('<tr id="tr-' + i + '"></tr>');
         String Transaction_No = result.data[i].Loan.toString();

        $('#tr-' + i).append('<td id="tdLoan-' + i + '"> @Html.ActionLink(Transaction_No, "Create", "Portfolio", null, new { @class = "openDialog", data_dialog_id = "emailDialog" }) </td>');
        $('#tr-' + i).append('<td id="tdLoan-1' + i + '">' + result.data[i].Loan + '</td>');

    }   


}

1 个答案:

答案 0 :(得分:0)

您似乎将服务器端代码与客户端javascript完全混合。试着修复这个烂摊子:

function CreateGrid(result) {
    $.ajaxSetup({
        cache: false
    });

    for (i = 0; i < result.data.length; i++) {
        debugger;
        var chk_row = true;
        $('#tbl_RoleMenu tbody').empty().append('<tr id="tr-' + i + '"></tr>');
        var transactionNumber = result.data[i].Loan;

        $('#tr-' + i).append('<td id="tdLoan-' + i + '"><a href="@Url.Action("Create", "Portfolio")" class="openDialog" data-dialog-id="emailDialog">' + transactionNumber + '</a></td>');
        $('#tr-' + i).append('<td id="tdLoan-1' + i + '">' + result.data[i].Loan + '</td>');
    }   
}

作为这种可怕混乱的替代方案,我建议您使用局部视图在服务器上创建此标记。我猜你在对控制器动作执行AJAX请求之后调用了这个函数(当前返回JsonResult)。修改此控制器操作,以便不返回JsonResult而返回PartialView,然后将这个新标记注入DOM。