我已经用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/

10-12 12:40
查看更多