Ajax将JSON数据发送到c#模型

本文关键字:模型 JSON 数据 Ajax | 更新日期: 2023-09-27 17:57:55

我是MVC的新手,所以我不确定这是否是正确的方法。我想做的是通过ajax将一些JSON数据发送到我的控制器,然后发送到模型,最终对它做些什么。在javascript端上对我发送的对象进行JSON之前,它看起来是这样的

bannerID:undefined
bannerMode:"WIDGET"
heightSettings:"0"
images:Array[2]
toggleArrows:"true"
toggleIndicators:"true"
transitionSpeed:""
widthSettings:"0"

当我JSON时,它看起来是这样的,当我在控制器上通过用字符串替换小部件来查看它时,我得到了这个。

 {"bannerMode":"WIDGET","transitionSpeed":"","toggleArrows":"true","toggleIndicators":"true","widthSettings":"0","heightSettings":"0","images":
 [{"id":0,"orderRank":"1","imageLink":"http://localhost:49999/img/admin/banner/example.jpg"},{"id":1,"orderRank":"2"}]}

在我的控制器的控制器的参数中,我有一个小部件模型。

 public ActionResult Index(widget widgetData){
  return View("~/Views/widgets/_dynamicWidget.cshtml", widgetData);
 }

我的小部件模型如下所示。

public class widget
 {
    public string bannerMode { get; set; }
    public int transitionSpeed { get; set; }
    public bool toggleArrows { get; set; }
    public bool toggleIndicators { get; set; }
    public int widthSettings = 20;
    private string lang;
    private List<WidgetList> images1;
    public widget(string lang, List<WidgetList> images1)
    {
        this.lang = lang;
        this.images1 = images1;
    }
    public int heightSettings{ get; set; }
    public List<ImageList> images { get; set; }
}
    public class ImageList
{
    public int id { get; set; }
    public int orderRank { get; set; }
    public string imageLink { get; set; }
}

我猜数据应该设置到模型中?但在我看来,当我试图显示这些数据时,会出现一个空错误。

Ajax将JSON数据发送到c#模型

您的小部件类没有公共的无参数构造函数,所以我猜模型绑定器在那里失败了。