我已经用HTML,JS和AJAX创建了一些代码,但按我的意愿无法正常工作。
<script type="text/javascript">
function DeleteSelectedRecord(id) {
alert(id);
$.ajax({
type: "POST",
url: "PrintTasks.aspx/DeleteRecord",
data: '{"id":"' + id + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("Deleted!");
},
failure: function () {
alert("Failure!");
}
});
}
function CreateATableFromDataBase() {
var deserializedData = '<%=serializedList %>';
deserializedData = JSON.parse(deserializedData);
for (var i = 0; i < deserializedData.length; i++) {
document.write(
"<tr>" +
"<th scope=\"row\">" + i.toString() + "</th>" +
"<th>" + deserializedData[i]["Name"] + "</th>" +
"<th>" + deserializedData[i]["Where"] + "</th>" +
"<th>" + deserializedData[i]["Destination"] + "</th>" +
"<th><input type=\"button\" class=\"btn btn-primary\" onclick=\"DeleteSelectedRecord(" + deserializedData[i]["Id"] + ")\" value=\"Delete\"/></th>" +
"</tr>"
);
}
}
</script>
第二个函数将参数“ id”传递给第一个。我已使用警报方法来检查是否至少可以正常工作。是的当我想将参数传递给PrintTasks.aspx.cs文件中名为DeleteRecord的超级方法时,问题就开始了。
[System.Web.Services.WebMethod]
public static void DeleteRecord(int id)
{
very sophisticated code...
}
内部的内容并不重要。最奇怪的是它不读取我的参数。
谢谢!
最佳答案
只需更改此代码行。会工作的
data: '{"id":"' + id + '"}',
改成
data: { id:id},
第一个id是您在.cs文件方法中设置的参数名称。
一个就是你要传递的价值...
关于javascript - 将参数从ajax函数传递到aspx.cs文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31722687/