0

我需要在 Telerik MVC Grid 中实现条件 TabStrip。父网格行包含状态的单元格值。如果状态为活动,我不希望在子网格中显示标签条。如果状态为待处理,那么我需要显示 TabStrip 以创建新项目。

我必须做这样的事情:

if ("<#= Status #>" == "Pending") // The condition is not working here. Always show this tab.
                    {
                        items.Add().Text("Create New Detail").Url("/Acq/PoDet/Create/<#=Id#>");
                    }
                })
                .ToHtmlString()
4

1 回答 1

0

由于您很可能正在使用 Ajax 绑定,因此您需要编写一点 JavaScript 来实现您的目标。您的著作不正确,因为您将 JavaScript 代码 (#= ...#) 与 C# 代码相结合。这是您可以在详细模板中执行的操作的一个想法,(这有点棘手,因为您需要转义特殊符号):

<script id="employeesTemplate" type="text/kendo-tmpl">

            @(Html.Kendo().TabStrip()
                .Name("test#=EmployeeID#")
                .Items(it=>it.Add().Text("test").Content("content test"))
                .ToClientTemplate()
                    )


           <script>
                    if (#=EmployeeID # % 2) {  
                        $('\#test' + #=EmployeeID#).data().kendoTabStrip.append({"text":"This is the TabTitle",content:"this is some content"})
                    }
           <\/script>



</script>

上面的示例是使用称为 append 的客户端 API 方法在 DetailView 生成到详细信息行时将节点附加到客户端的 TabStrip EmployeeID%2 == 0(一个简单的条件)。

我希望你明白了。

于 2012-10-04T20:06:31.037 回答