У меня есть некоторые данные в представлении, которые я хотел бы передать дочернему частичному представлению. Часть этих данных представляет собой список дат, которые я хотел бы отобразить в частичном представлении. Я почти уверен, что не могу передать IEnumerable из одного представления в другое (когда я пытаюсь, чтобы список был нулевым в контроллере). Предполагая, что это так, есть ли хорошая работа?
Я подумал о том, чтобы просто объединить значения в строку, а затем просто проанализировать эту строку в контроллере. Это кажется немного хакерским, но я думаю, что это сработает. Есть ли проблема сделать это так? Есть ли способ лучше?
Просто кажется таким позорным необходимость повторно извлекать данные, которые у меня есть в родительском представлении. Я надеюсь, что есть другой способ сделать это.
Обновление: это модель для частичного просмотра:
public class SiteVisitDetailModel
{
public String URL
{
get;
set;
}
public List<DateTime> Dates
{
get;
set;
}
}
И это код из родительского представления для добавления частичного представления:
<% Html.Telerik().PanelBar().Name("PanelBar").HtmlAttributes(new { style = "padding-left: 0em;" }).Items(items =>
{
foreach (var item in Model.Visits)
{
SiteVisitDetailModel model = new SiteVisitDetailModel();
model.URL = item.Key;
model.Dates = (from siteVisit in item
select siteVisit.Time).ToList();
items.Add()
.Text(item.Key.ToString() + " " + item.Count().ToString() + " visits")
.LoadContentFrom("SiteViewDetail", "Report", model);
}
}).Render();
В методе действия SiteVisitDetail правильно задано значение model.URL, а значение model.Dates равно null.