我正在使用Telerik PanelBar 使用局部视图进行一些异步加载。我正在为父视图中的局部视图创建一个模型,但由于某种原因,我的数据没有完整地通过。
// Parent view
<% 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; // this is properly set
model.Dates = new List<DateTime>(); // this is null in the controller
model.Dates.Add(DateTime.Now);
items.Add()
.Text(item.Key.ToString() + " " + item.Count().ToString() + " visits")
.LoadContentFrom("SiteViewDetail", "Report", model);
}
}).Render();
// Report controller method
public ActionResult SiteViewDetail(SiteVisitDetailModel model)
{
return PartialView(model); // model.URL is correct, model.Dates is null
}
// Model
public class SiteVisitDetailModel
{
public String URL
{
get;
set;
}
public List<DateTime> Dates
{
get;
set;
}
}
正如我的评论所建议的,当调用控制器的 SiteVisitDetail 方法时,Model.URL 具有正确的数据,并且 Model.Dates 为 null(它不是包含 null 的列表,它本身为 null)。正如预期的那样,它在局部视图 (SiteViewDetail) 中也为空。
什么会导致这种行为?