У меня есть автозаполнение в виде частичного представления, которое я хотел бы использовать дважды на той же странице. Есть три модели, участвующихКак получить данные из двух вхождений одного и того же частичного представления с использованием модели класса encapsulting
public partial class CustomParent
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Int64 CustomParentId { get; set; }
public Geoname ParentGeoname { get; set; }
public Geoname ChildGeoname { get; set; }
public CustomParent()
{
ParentGeoname = new Geoname();
ChildGeoname = new Geoname();
}
}
public partial class Geoname
{
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Int64 GeonameId { get; set; }
public string Name { get; set; }
}
public partial class GeonameWithFilter
{
public GeonameWithFilter()
{
FilterString = "";
}
public Geoname Geoname { get; set; }
public String FilterString { get; set; }
}
Я контроллер создан
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "CustomParentId,ParentGeoname,ChildGeoname")] CustomParent customParent)
{...}
Я создал два парциальные Html на моем создать взгляд первоначально только с использованием моделей customparent и geoname и он работал отлично установив значения в родительском и дочернем geonames, как ожидалось. Теперь я требую, чтобы дополнительные параметры передавались в частичный вид, поэтому я создал класс инкапсуляции (GeonameWithFilter). Я внес изменения в мой частичном вид и на мои два html.partials на странице просмотра, которые сейчас выглядят следующим образом:
@Html.Partial("_GeonameAutocomplete",new GeonameWithFilter(){Geoname = Model.ParentGeoname,FilterString="'featurecodes':'CUPA'"},
new ViewDataDictionary()
{
TemplateInfo = new TemplateInfo() { HtmlFieldPrefix = "ParentGeoname" }
})
@Html.Partial("_GeonameAutocomplete", new GeonameWithFilter() { Geoname = Model.ChildGeoname, FilterString = "'featurecodes':'ADM1,ADM2,ADM3,ADM4'" },
new ViewDataDictionary()
{
TemplateInfo = new TemplateInfo() { HtmlFieldPrefix = "ChildGeoname" }
})
Проблема, что customparent.parentGeoname и customparent.childGeoname не теперь получают вернулись к моему контроллер. Я предполагаю, что это связано с тем, что модель частичного представления не является тем же классом, что и мои модели страниц parentGeoname и childGeoname, но не может работать или находить примеры того, как обращаться с таким обстоятельством, если это действительно возможно.