Я хотел бы отправить данные json из таблицы HTML в кодовый блок ASP.NET и обновить данные в базе данных SQL Server.Код и JSON для TableProductToUpdate()
приведены ниже.
function UpdateProductTable() {
$.ajax({
type: "POST",
url: "Default.aspx/UpdateProductTable",
data: "{'products':" + JSON.stringify(TableProductToUpdate()) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (data) {
alert(data.responseText);
},
success: function (data) {
alert("Data Updated Successfully");
}
});
}
{'products':
"[
{
\"id\":\"907\",
\"name\":\"Rear Brakes\",
\"productNumber\":\"RB-9231\",
\"color\":\"Silver\",
\"stdCost\":\"47.286\",
\"listPrice\":\"106.5\",
\"size\":\"null\",
\"weight\":\"317\",
\"modelId\":\"128\"
},
{
\"id\":\"948\",
\"name\":\"Front Brakes\",
\"productNumber\":\"FB-9873\",
\"color\":\"Silver\",
\"stdCost\":\"47.286\",
\"listPrice\":\"106.5\",
\"size\":\"null\",
\"weight\":\"317\",
\"modelId\":\"102\"}]"
}
Как использовать эту строку JSON в JSON.NET.Как мне выполнить цикл по данным и создать запрос на обновление?
Мне удалось сериализовать данные в JSON с использованием JSON.NET, но можно ли сделать обратное?*
Пробовал ответ Натана, но я получаю следующую ошибку:
{"Message":"Cannot convert object of type \u0027System.String\u0027 to type
\u0027System.Collections.Generic.List`1[_Default+Product]\u0027","StackTrace":"
at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type,
JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)\r\n
at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, \
Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object&
convertedObject)\r\n at
System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary`2
rawParams)\r\n at
System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target,
IDictionary`2 parameters)\r\n at
System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context,
WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n at
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context,
WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
Кодовый код
<WebMethod()> _
Public Shared Function UpdateProductTable(ByVal products As List(Of Product)) As String
Dim product As Product
For Each product In products
'Update query
Next
Return "Success"
End Function
Public Class Product
Property id As String
Property name As String
Property number As String
Property color As String
Property stdCost As String
Property listPrice As String
Property size As String
Property weight As String
Property modelId As String
End Class