我将 JSON 对象传递回 C# aspx 页面 web 方法。
我的 JavaScript 看起来像:
 return jsonItem = {
                     id: id,
                     title:  title,
                     registrationPage: {
                        registration: registration                              
                     }                                                  
                   }
我将此项目传递给 aspx web 方法:
$.ajax({
          type: "POST",
          url: "SaveXML.aspx/SaveAs",
          data: JSON.stringify({ jsonItem : jsonItem }),
          contentType: "application/json; charset=utf-8",                
          dataType: "json",
          success: function (msg, textStatus) {
                alert(textStatus);
          },
    });
JSON 有效负载发送正常。
在 aspx 页面中,我有以下课程:
public class JSONItem
{
    public string Id { get; set; }
    public string Title { get; set; }  
    public RegistrationPage RegistrationPage { get; set; }           
}
public class RegistrationPage
{
     public string Registration { get; set; }
}
[WebMethod]
public static Policy Save(Policy policy)
{
}
当我尝试构建它时,我得到一个代码分析错误,这是有道理的:
CA1034:Microsoft.Design:不要嵌套类型“SaveXML.RegistrationPage”。或者,更改其可访问性,使其在外部不可见。
如果我忽略该错误,则代码确实有效。我确实尝试更改修饰符,但未填充注册页面对象。
如何使代码正常工作并遵守上述错误?
谢谢