我的 jQuery 代码中有一个 JavaScript 变量,其中包含我需要在其中使用的 ID,Html.ActionLink但它不起作用:
@(Html.ActionLink("Genomför", "AnswerForm", "AnswerNKI", new {id = goalcard.Id},null))
我得到:'无法解析符号“目标卡”',原因是目标卡是一个 JavaScript 变量。
这是它的样子:
$.post('@Url.Action("Search", "SearchNKI")', data, function (result) {
    $("#GoalcardSearchResult tbody").empty();
    result.forEach(function(goalcard) {
        $("#GoalcardSearchResult tbody").append(
            $('<tr/>', {
            // steg Create a row for each result 
                html: "<td>" + goalcard.Name +
                "</td><td>" + goalcard.Customer +
                "</td><td>" + goalcard.PlannedDate +
                "</td><td>" + goalcard.CompletedDate +
                "</td><td>" + '@(Html.ActionLink("Genomför", "AnswerForm", "AnswerNKI", new {id = goalcard.Id},null))' + "</td>"
        }));
    });
});
我已经测试了一段时间,我几乎找到了一个解决方案,它看起来像这样:
@(Html.ActionLink("Genomför", "AnswerForm", "AnswerNKI",null, new {id = "mylink"}))
然后我做了一个新功能:
$('#mylink').click(function (goalcard) {
    var id = goalcard.Id;
    this.href = this.href + '/' + id;
});
这应该可行,但发生的情况是我必须在forEach循环内使用这个点击函数才能到达目标卡变量。如果我把它放在里面forEach,这个 Click 函数将被执行多次,具体取决于有多少个球门卡。
所以结果是  /AnswerNKI/AnswerForm/1/2如果有两张球门卡。或者/AnswerNKI/AnswerForm/1/2/3/4/5如果有五张球门卡。
但应该是/AnswerNKI/AnswerForm/1
它基本上加起来了。
另一个问题是所有其他行都有  /AnswerNKI/AnswerForm/所以只有第一行基本上有一个 id。
我不知道如何找到解决该问题的解决方案。
非常感谢任何形式的帮助。
提前致谢