Kendo PanelBar HTML字符串作为内容

时间:2014-12-04 10:01:42

标签: html asp.net-mvc internet-explorer-8 kendo-ui kendo-panelbar

我正在实现一个视图,其中有标签(Kendo TabStrip),这些标签内部是一些手风琴项目(Kendo PanelBar)。 我使用foreach绘制标签,在每个标签中,我也使用foreach绘制手风琴。问题是,每个手风琴项目的内容都是HTML字符串(如:<p>Some <strong>text</strong></p>)。 在chrome中,所有工作都很好,但是IE8的一切都会消失(因为页面HTML与字符串HTML混合在一起)。

这是我的代码:

@(Html.Kendo().TabStrip()
          .Name("tabAyuda")
          .HtmlAttributes(new { style = "" })
          .Animation(false)
          .SelectedIndex(0)
          .Items(tabAyuda =>
          {
                foreach (KeyValuePair<string, IList<ElementoAyuda>> accion in Model)
                {
                    if (!string.IsNullOrWhiteSpace(accion.Key))
                    {
                        tabAyuda.Add().Text(accion.Key)
                            .Content(@<text>
                                @(Html.Kendo().PanelBar()
                                    .Name("panelbar" + accion.Key)
                                    .ExpandMode(PanelBarExpandMode.Single)
                                    .Items(panelbar =>
                                    {
                                        foreach (ElementoAyuda elemento in accion.Value)
                                        {
                                            panelbar.Add()
                                                .Text(elemento.Head)
                                                .Content(elemento.Detail);
                                        }
                                    })
                                        )
                            </text>); 
                    }
                }
          })
          )

我也试过这个代码。内容:

.Content(@<text>                                                    
@Html.Raw(elemento.Detail)
</text>)

但是我收到此错误:自定义工具错误:Inline markup blocks (@<p>Content</p>) cannot be nested. Only one level of inline markup is allowed.

有什么建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

解决了,这是我的错。某些HTML字符串的语法无效,但在某些情况下,Chrome可以使用XD