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)でもnullになります。
この動作の原因は何ですか?