私はこの方法を試してみて、c# webforms コードの背後にある jquery シリアル化されたデータを取得する必要があります。
jQuery.ajax({
type: "POST",
url: "book_de_acoes.aspx/salvarSimulacaoAutomatica",
data: JSON.stringify({ form: jQuery("#aspnetForm").serialize() }),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (callback) {
alert(callback);
}
});
C# コードビハインド:
[WebMethod(true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static bool salvarSimulacaoAutomatica(string form)
{
try
{
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
var formData = js.Deserialize<object>(form);
}
catch(Exception e)
{
}
return true;
}
しかし、離れた場所ではエラーが発生します:
System.ArgumentException: 無効な JSON プリミティブ: ctl00。System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() で System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 深度) で System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(文字列入力、Int32 深度制限、JavaScriptSerializer) serializer) で System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) で System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input) で PortalSuvinil.admin_portal .book.book_de_acoes.salvarSimulacaoAutomatica(文字列形式)
このデータを取得する正しい方法は?