我需要在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()
答案 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生成到详细信息行中。
我希望你明白了。