//code
$(document).on("click", ".open-chartModal", function () {
var spNames = $(this).data('id');
$("#spNames").val(spNames);
var separated = spNames.split(";");
for (var i = 0, length = separated.length; i < length; i++) {
var chunk = separated[i];
$('#options').append('<li>@Ajax.ActionLink("Chart", "Chart",
new { spName = "'+ chunk +'" }, new AjaxOptions { }) </li>')
}
});
以上是将'chunk'作为字符串而不是变量。我想把spNames = var chunk。不知道单引号是否在正确的位置。
答案 0 :(得分:1)
试试这个
var url = '@Ajax.ActionLink("Chart", "Chart", new { spName = "-1" }, new AjaxOptions { })';
$('#options').append('<li>' + url.replace('-1', chunk )+ '</li>')
由于@Ajax.ActionLink
将由剃刀呈现。您无法传递JavaScript变量。
您可以添加占位符值&amp;用变量替换它。
答案 1 :(得分:0)
我想你想要这个:
for (var i = 0, length = separated.length; i < length; i++) {
var chunk = separated[i];
$('#options').append('<li>@Ajax.ActionLink("Chart", "Chart",' +
'new { spName = "'+ chunk +'" }, new AjaxOptions { }) </li>')
}
你的换行符破坏了你的字符串文字。需要关闭它并明确连接。