У меня есть некоторые данные, которые я хотел бы передать дочернему частичному представлению. Часть этих данных представляет собой список дат, которые я хотел бы отобразить в частичном представлении. Я почти уверен, что не могу передать IEnumerable из одного представления в другое (когда я пытаюсь использовать list, null в контроллере). Предполагая, что это так, есть ли хорошая работа вокруг?
Я думал о том, чтобы просто объединить значения в строку и затем просто проанализировать эту строку в контроллере. Это кажется немного хакерским, но я думаю, что это сработает. Есть ли проблема с этим? Есть ли лучший способ?
Просто стыдно снова получить данные, которые я получил в родительском представлении. Я надеюсь, что есть другой способ сделать это.
Обновление:
Это модель для частичного просмотра:
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.