【发布时间】:2015-07-07 16:54:11
【问题描述】:
关于 Kendo Scheduler 小部件,我使用的是 MVC Razor Helper,但我需要用户能够在元数据中定义自己的“资源”,然后让调度程序基于此配置进行渲染。
我见过的所有示例都要求开发人员在设计时知道要绑定的资源(例如 RoomID、OwnerID、Attendeed),使用以下添加资源的方式......
.Resources(resource =>
{
resource.Add(m => m.RoomID)
.Title("Room")
.DataTextField("Text")
.DataValueField("Value")
.DataColorField("Color")
.BindTo(new[] {
new { Text = "Meeting Room 101", Value = 1, Color = "#6eb3fa" },
new { Text = "Meeting Room 201", Value = 2, Color = "#f58a8a" }
});
resource.Add(m => m.Attendees)
.Title("Attendees")
.Multiple(true)
.DataTextField("Text")
.DataValueField("Value")
.DataColorField("Color")
.BindTo(new[] {
new { Text = "Alex", Value = 1, Color = "#f8a398" } ,
new { Text = "Bob", Value = 2, Color = "#51a0ed" } ,
new { Text = "Charlie", Value = 3, Color = "#56ca85" }
});
})
但是,在设计时,我不知道资源是什么(例如 RoomID、与会者)。我只会知道,一旦应用程序运行并查询元数据/数据库。 即我希望能够通过最好进行 Ajax 调用来构造资源,或者可能通过遍历存储在 ViewBag 变量中的集合来构造资源。 类似于以下内容:
.Resources(resource =>
{
foreach(ResourceType resourceType in ViewBag.ResourceTypes)
{
resource.Add(resourceType.Name)
.Title(resourceType.Name)
.DataTextField("Text")
.DataValueField("Value")
.DataColorField("Color")
.BindTo(new[] {
new { Text = "some text", Value = 1, Color = "#6eb3fa" },
new { Text = "some other text", Value = 2, Color = "#f58a8a" }
});
}
})
让我知道这是否有意义或者我是否需要提供更多信息...
谢谢
乔恩
【问题讨论】:
标签: asp.net-mvc kendo-ui kendo-scheduler