如标题所示。如何将数据json设置为Ajax.actionLink? Ajax方法返回对话框内的所有用户。我想为每一行创建actionlink并在controler中调用我的方法RemoveUserByid。这是我的代码:
$("#remove").click(function () {
$('.choiceOption').dialog("close");
$(".dialog").html('');
$(".dialog").dialog({ //Shows dialog
height: 300,
width: 450,
modal: true,
resizable: false,
title: "Usuń uzytkownika:"
});
//
$.ajax({
url: '/User/GetUsers/',
type: 'POST',
contentType: "application/json",
success: function (json) {
$(".dialog").html('');
for (var i = 0; i < json.length; i++) {
var rowText = "<tr style='border-bottom: 1px dotted rgb(195, 178, 178); display: block;'>
<td style='padding-right: 5px'>" + json[i].userid+ "</td>
<td style='padding-right: 5px'>" + json[i].Name + "</td>
<td style='padding-right: 5px'>" + json[i].date + "</td>
<td style='padding-right: 5px;float:right;'>
//how to create a link that takes me to the controller using the json data?
'@Ajax.ActionLink(" ", "RemoveUserByid", "User", new { user= json[i].id //syntax error !!!},new AjaxOptions { UpdateTargetId = "users"})';
</td></tr>";$(".dialog").append(rowText);}
if (json == 0) {
$(".dialog").append("Brak ");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Wystąpił problem z przesłaniem danych, spróbuj ponownie za chwile: " + errorThrown)
}
});
});
我将不胜感激。 问候!
答案 0 :(得分:0)
json
变量属于javascript范围,不能被c#编译器引用。
您可以使用假常量发出默认链接文本,并将其替换为浏览器端的真实用户ID,如下所示:
$.ajax({
url: '/User/GetUsers/',
type: 'POST',
contentType: "application/json",
success: function (json) {
$(".dialog").html('');
var pattern = '@Ajax.ActionLink(" ", "RemoveUserByid", "User", new { user= "FAKEID" },new AjaxOptions { UpdateTargetId = "users"})';
for (var i = 0; i < json.length; i++) {
var rowText = "<tr style='border-bottom: 1px dotted rgb(195, 178, 178); display: block;'><td style='padding-right: 5px'>"
+ json[i].userid + "</td><td style='padding-right: 5px'>" + json[i].Name +
"</td><td style='padding-right: 5px'>" + json[i].date + "</td>" +
"<td style='padding-right: 5px;float:right;'>" + pattern.replace("FAKEID", json[i].id) + "</td></tr>";
$(".dialog").append(rowText);}
if (json == 0) {
$(".dialog").append("Brak ");
}
}, }