您好,我收到错误:
Inline markup blocks (@<p>Content</p>) cannot be nested. Only one level of inline markup is allowed.
将 Kendo UI 选项卡条和 MultiSelectBox 与 Razor 视图和 MVC4 一起使用
我尝试实现辅助类,但仍然收到错误
这是我的代码,我是否缺少步骤?我将 3 个多选移出并用助手调用它们!
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(tabstrip =>
{
tabstrip.Add().Text("One")
.Content(@<div>
@RenderSelect()
</div>;);
tabstrip.Add().Text("Two")
.Content("Two");
tabstrip.Add().Text("Three")
.Content("Three");
})
.SelectedIndex(0)
)
@helper RenderSelect()
{
<h2>MyList</h2>
<label>One</label>
@(Html.Kendo()
.MultiSelect()
.Name("One")
.AutoBind(true)
.Placeholder("Select Clients...")
.DataTextField("hname")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Client", "Dist");
})
.ServerFiltering(true);
})
)
<label>Two</label>
@(Html.Kendo()
.MultiSelect()
.Name("Two")
.AutoBind(true)
.DataTextField("gname")
.Placeholder("Select Recipients...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Client", "Dist");
})
.ServerFiltering(true);
})
)
<label>Three</label>
@(Html.Kendo()
.MultiSelect()
.Name("Three")
.AutoBind(true)
.DataTextField("id")
.Placeholder("Select CLL...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Codes", "Dist");
})
.ServerFiltering(true);
})
)
}
我想到了。
我必须把帮手拴起来。
因此,每个多选都有一个辅助类。
按照这个:http://www.aspnetwiki.com/telerik-mvc:nested-container-controls-and-razor-helper http://www.aspnetwiki.com/telerik-mvc:nested-container-controls-and-razor-helper
然后,如果您想在一个选项卡中进行多个多选,您将需要为每个多选提供一个帮助程序,如下所示:
这是助手,只需将其复制到第二个、第三个和第四个并更改名称等......
@helper RenderMultiFirstBox()
{
@(Html.Kendo()
.MultiSelect()
.Name("First")
.AutoBind(true)
.Placeholder("Select First...")
.DataTextField("name")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Index", "Something");
})
.ServerFiltering(true);
})
)
}
然后像这样调用 TabStrip 'Content' 中的助手:
.Items(tabstrip =>
{
tabstrip.Add().Text("One")
.Content(@<text>
@RenderMultiSelectFirstBox()
@RenderMultiSelectSecondBox()</text>);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)