这是我的ajax
$.ajax({
type: "POST",
url: "WebForm4.aspx/StatusUpdate",
data: '{"idArray":"' + JSON.stringify(x) + '","Status":"' + Rstatus + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
location.reload();
},
})
网络方法
Public Shared Function StatusUpdate(ByVal idArray() As String, Status As String) As String
Dim strargument As New StringBuilder()
Try
Dim cnt As Int16 = idArray.Length()
For i As Int16 = 0 To cnt - 1
If i = cnt - 1 Then
strargument.Append("'" & idArray(i) & "'")
Else
strargument.Append("'" & idArray(i) & "',")
End If
Next
Using cmd As New SqlCommand("Update [ERP_EmployeeRole] SET Status=@Status where RoleID in (" & strargument.ToString & ")")
cmd.Connection = con
cmd.Parameters.AddWithValue("@Status", Status)
con.Open()
cmd.ExecuteNonQuery()
Dim s1 As String = "Status updated"
Return s1
End Using
答案 0 :(得分:0)
构建要发送到服务器的Json数据的方式似乎存在问题。
我建议你创建一个类来定义一个字符串数组,即idArray和另一个字符串属性Status,就像我在下面定义的类一样。我将使用您将能够转换为VB的C#版本。
public class SomeClass
{
public string Status { get; set; }
public string IdArray[] { get; set; }
}
在客户端,您可以将其用作
var SomeObj = { Status: "Some Status", IdArray: YourArray }
在将其发送到服务器之前,您应该使用:
JSON.stringify({"someObj":SomeObj});
并且在您的Web方法中,您应该使用类似这样的内容
public static YourMethod(SomeClass SomeObj)
{
//TODO: Do Something here with your object
}