다이내믹 ExpandoObjects 컬렉션이 포함 된 Telerik MVC를 사용하려고합니다.ExpanderObject 목록이있는 Telerik MVC 그리드
컨트롤러는 다음과 같습니다
[GridAction]
public ActionResult TestDiario()
{
var result = new List<dynamic>();
dynamic diarioModel = new ExpandoObject();
var dictionary = (IDictionary<string, object>)diarioModel;
dictionary.Add("ID", 1);
dictionary.Add("AlunoID", 12781);
dictionary.Add("DAY05CLASS1", true);
dictionary.Add("DAY05CLASS2", true);
dictionary.Add("DAY07CLASS1", true);
dictionary.Add("DAY08CLASS1", true);
result.Add(diarioModel);
return View(result);
}
보기는 다음과 같습니다
@using Telerik.Web.Mvc.UI
@model IEnumerable<dynamic>
@{
ViewBag.Title = "TestDiario";
}
@(Html.Telerik().Grid(Model).Name("Grid")
.DataKeys(dataKeys => dataKeys.Add("ID"))
.Columns(columns =>
{
columns.Bound("MatAnoID").Visible(true);
columns.Bound("AlunoID");
columns.Bound("NroClasse");
columns.Bound("Aluno");
var dictionary = (IDictionary<string, object>)Model;
foreach (var property in (IDictionary<String, Object>)dictionary)
{
if (property.Key.ToString().Remove(3) == "DAY")
{
columns.Bound(property.Key);
}
}
})
.Pageable()
.Sortable()
.Groupable()
.Filterable()
)
루프 foreach 문이 DAY 문자열에 의해 시작 역학 필드를 가져옵니다. 내가 프로젝트를 실행하면
은 다음과 오류가 나타납니다
{ "는 입력 객체 System.Collections.Generic.List 1[System.Object]' to type 'System.Collections.Generic.IDictionary
2 [선택 System.String,하는 System.Object]을 '변환 할 수 없습니다."}
필드를 통한 루프가있는 Telerik MVC 컨트롤과 함께 동적 객체를 사용하는 방법이 있습니까?
감사합니다, 그것은 작품! – user1822331