gpt4 book ai didi

c# - Kendo Tabstrip MVC 添加动态数量的标签

转载 作者:太空宇宙 更新时间:2023-11-03 21:28:47 27 4
gpt4 key购买 nike

我正在构建一个基于选项卡的 Web 应用程序。

我可以在 AJAX 调用后使用此代码从 javascript 加载新选项卡:

 tabStrip.append(
{
encoded: false,
id: id,
text: name + html,
content: divData
});

但是,我现在需要在启动时加载一些选项卡,如果我知道要加载多少(并且它从未改变)我可以在 Razor 中这样做:

.Items(items =>
{
items.Add().Text("Home").Content(@Html.Action("Load","Home").ToHtmlString()).Selected(true);
items.Add().Text(Model[0].Name).HtmlAttributes(new { id = Model[0].Id.ToString(CultureInfo.InvariantCulture) }).Content(@Html.Action("Index", Model[0].Controller).ToHtmlString());
items.Add().Text(Model[1].Name).HtmlAttributes(new { id = Model[1].Id.ToString(CultureInfo.InvariantCulture) }).Content(@Html.Action("Index", Model[1].Controller).ToHtmlString());
}

但是在 BindTo 语法中,我只能得到到目前为止:

.BindTo(Model, (item, tab) =>
{
item.Text = tab.Name; //Needs to not be encoded!
item.ContentUrl = tab.Url;
item.Id = Id does not exist!
or
item.HtmlAttributes = cannot be set!
})

不幸的是,除了最基本的之外,KendoUI 网站上真的没有很好的例子。

最佳答案

您可以像这样使用“手动绑定(bind)”:

.Items(items =>
{
foreach (var tab in Model.MyTabs) {
// any logic you need here, for example
items
.Add()
.Text(tab.Name)
.HtmlAttributes(new { id = tab.Id.ToString() })
.Content(@Html.Partial("MyTabView", tab.Model).ToHtmlString());
}
}

所以基本上如果你有标签的动态集合,你可以手动遍历这个集合并单独配置每个标签 - 你不需要在这里使用 BindTo

关于c# - Kendo Tabstrip MVC 添加动态数量的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25317350/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com