Telerik 客户端模板条件
Telerik Client Template Conditions
我正在使用 Telerik MVC Grid 控件来显示数据网格。我的网格的详细信息正在调用以下客户端详细信息模板:
<script id="client-template" type="text/x-kendo-template"> <%: Html.Kendo().Grid<ASML_Scheduler.ScheduleService.AgentViewData>()
.Name("grid_#=WorkgroupName#")
.DataSource(dataSource =>
dataSource.Ajax().Read(read => read.Action("Agents_Read", "Home", new {workgroupname= "#=WorkgroupName#", name = ViewData["LoggedInUser"] }))
)
.Columns(columns =>
{
columns.Bound(product => product.AgentName).ClientTemplate("<strong>\#:AgentName\#</strong>");
//columns.Bound(product => product.IsLoggedOn);
//columns.Bound(product => product.IsLoggedOn).ClientTemplate("<div class='mystyle'>\#:IsLoggedOn\#</div>");
columns.Bound(product => product.IsLoggedOn).ClientTemplate(
"# if (IsLoggedOn != false) { #" +
"<div class='mystyle'>\#:IsLoggedOn\#</div>" +
"# } else { #" +
"<div>\#:IsLoggedOn\#</div>" +
"# } #"
);
columns.Bound(product => product.IsScheduled);
})
.ToClientTemplate()
%>
</script>
我遇到的问题是 IsLoggedOn 客户端模板,因为它无法识别 IsLoggedOn != false。
谁能看出我在这里做错了什么。
就我个人而言,我更喜欢这样做。
改变这个:
columns.Bound(product => product.IsLoggedOn).ClientTemplate(
"# if (IsLoggedOn != false) { #" +
"<div class='mystyle'>\#:IsLoggedOn\#</div>" +
"# } else { #" +
"<div>\#:IsLoggedOn\#</div>" +
"# } #"
);
到
columns.Bound(product => product.IsLoggedOn)
.ClientTemplate("#=StyleLogin(data.IsLoggedOn)#");
然后创建一个 javascript 函数
function StyleLogin(IsLoggedOn)
{
var value = '';
if (IsLoggedOn != false) {
value = '<div class="mystyle">' + IsLoggedOn + '</div>';
} else {
value = '<div>' + IsLoggedOn + '</div>';
}
return value;
}
这样您就可以轻松调试代码并在需要时在别处重用该函数。
我正在使用 Telerik MVC Grid 控件来显示数据网格。我的网格的详细信息正在调用以下客户端详细信息模板:
<script id="client-template" type="text/x-kendo-template"> <%: Html.Kendo().Grid<ASML_Scheduler.ScheduleService.AgentViewData>()
.Name("grid_#=WorkgroupName#")
.DataSource(dataSource =>
dataSource.Ajax().Read(read => read.Action("Agents_Read", "Home", new {workgroupname= "#=WorkgroupName#", name = ViewData["LoggedInUser"] }))
)
.Columns(columns =>
{
columns.Bound(product => product.AgentName).ClientTemplate("<strong>\#:AgentName\#</strong>");
//columns.Bound(product => product.IsLoggedOn);
//columns.Bound(product => product.IsLoggedOn).ClientTemplate("<div class='mystyle'>\#:IsLoggedOn\#</div>");
columns.Bound(product => product.IsLoggedOn).ClientTemplate(
"# if (IsLoggedOn != false) { #" +
"<div class='mystyle'>\#:IsLoggedOn\#</div>" +
"# } else { #" +
"<div>\#:IsLoggedOn\#</div>" +
"# } #"
);
columns.Bound(product => product.IsScheduled);
})
.ToClientTemplate()
%>
</script>
我遇到的问题是 IsLoggedOn 客户端模板,因为它无法识别 IsLoggedOn != false。
谁能看出我在这里做错了什么。
就我个人而言,我更喜欢这样做。
改变这个:
columns.Bound(product => product.IsLoggedOn).ClientTemplate(
"# if (IsLoggedOn != false) { #" +
"<div class='mystyle'>\#:IsLoggedOn\#</div>" +
"# } else { #" +
"<div>\#:IsLoggedOn\#</div>" +
"# } #"
);
到
columns.Bound(product => product.IsLoggedOn)
.ClientTemplate("#=StyleLogin(data.IsLoggedOn)#");
然后创建一个 javascript 函数
function StyleLogin(IsLoggedOn)
{
var value = '';
if (IsLoggedOn != false) {
value = '<div class="mystyle">' + IsLoggedOn + '</div>';
} else {
value = '<div>' + IsLoggedOn + '</div>';
}
return value;
}
这样您就可以轻松调试代码并在需要时在别处重用该函数。