Telerik MVC3中的条件TabStrip

时间:2012-10-02 05:50:44

标签: asp.net-mvc-3 telerik-mvc

我需要在Telerik MVC Grid中实现条件TabStrip。父网格行包含Status的单元格值。如果状态为Active,则不要在子网格中显示tabstrip。如果状态为Pending,那么我需要显示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()

1 个答案:

答案 0 :(得分:1)

由于大多数人可能正在使用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方法将一个节点附加到客户端的TabStrip,如果EmployeeID%2 == 0(一个简单的条件)将DetailView生成到详细信息行中。

我希望你明白了。