все значения их свойств равны нулю или 0.
Я думаю, это потому, что в свойствах вашего CarouselModel отсутствует get;set;
, что делает ASP. NET MVC Binding использование по умолчанию.
Во время POST связыватель будет пытаться привязать значения формы к значению вашей модели, но, поскольку у него нет средств доступа, он не может установить ни одно из значений, полученных из формы.
Кроме того, они оба определены как Private
, к которым можно получить доступ только внутри класса, вы должны использовать Public
, если хотите, чтобы они устанавливались извне.
самое простое решение - сделать их Public
и добавить методы доступа get;set;
:
[Display(Name="id")]
public int id {get;set;}
[Display(Name = "imgLoc")]
public string imgLoc {get;set;}
[Display(Name = "orderNum")]
public int orderNum {get;set;}
Если вы все еще хотите, чтобы ID и ImgLo c оставались Private
, тогда вы могли бы сделать что-то вот так;
private int _id {get;set;}
private string _imgLoc {get;set;}
[Display(Name = "orderNum")]
public int orderNum;
[Display(Name="id")]
public int id{
get{
return this._id;
}
set{
this._id = value;
}
}
[Display(Name = "imgLoc")]
public string imgLoc{
get{
return this._imgLoc;
}
set{
this._id = value;
}
}
Затем измените поля ввода HTML, чтобы использовать свойства publi c.