【发布时间】:2014-01-28 04:23:49
【问题描述】:
我的 asp.net 代码背后的页面上有以下 webmethod:
[WebMethod(EnableSession = true)]
public static bool SaveFailureData(SimpleFailureData data)
{
}
SimpleFailureData 定义如下:
public class SimpleFailureData
{
public int Id { get; set; }
public string Comments { get; set; }
public double Score { get; set; }
public double Adjustment { get; set; }
public List<ShutdownData> ShutdownData { get; set; }
}
public class ShutdownData
{
public int Id { get; set; }
public string Description { get; set; }
public bool CausedShutdown { get; set; }
public string ShutdownType { get; set; }
}
我想弄清楚的是如何调用这个网络方法并格式化我的数据,以便正确地将其投影/解析到该类中,以便我可以使用它。我尝试向该方法发送一个 json 字符串,但我的方法内部的断点从未被命中(因此我假设该方法由于数据格式不正确而无法调用)。
这是我尝试发送然后调用方法的 JSON:
json = JSON.stringify( {
Comments: comments,
Score: score,
Adjustment: seAdjustmentValue,
ShutdownData: breakdowns //this is an array of shutdown objects
});
PageMethods.SaveFailureData(json, function(data) {
return;
});
但这未能进入我的方法。关于 JSON 格式的任何提示,以便正确地将类作为参数传递?
这是我尝试发送给方法的 JSON:
{
"Comments":"",
"Score":66.66666666666667,
"Adjustment":0,
"ShutdownData":[{"Id":"401","CausedShutdown":true,"ShutdownType":"NORMAL"}]
}
【问题讨论】:
-
能否请您发布确切的 json 示例..AFAIK..您必须在字符串变量中捕获您的 webmethod 中的数据,然后使用 .Net 中的 JavaScriptDeserializer 类将字符串大小写到类
-
@Arpit 我在我的问题中添加了一个示例。
标签: asp.net ajax json asmx webmethod