我是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; }
}
我猜测应该将数据设置到模型中? 但在我看来,当我试图显示这些数据时,我得到一个空错误。
答案 0 :(得分:1)
您的窗口小部件类没有公共无参数构造函数,因此我猜测模型绑定器在那里失败。