根据列kendo网格的值显示一个按钮

时间:2015-03-10 19:30:46

标签: asp.net-mvc kendo-grid

我的列名为type,它是一个枚举

public enum CalcEnum
    {
        Created = 0,
        Calculated = 1,
        Imported = 2,
        Edited = 3
    }

我想根据此字段的值显示一个按钮。如果创建了值,那么我想在网格中显示一个按钮。我试过这样但不起作用

@(Html.Kendo().Grid(Model.values)
    .Name("Grid1")

    .Columns(columns =>
    {
columns.Bound(p => p.UserComments).Title("Comments");
        columns.Bound(p => p.Type).Title("Type");
        columns.Template(@<text></text>)
    .ClientTemplate("#if(Type == '0') {#"
                + "<a href=\"View?TaskID=#FileID#\">View</a>"
                + "#} else {#"
                + "<a href=\"Open?TaskID=#FileID#\">Open</a>"
                + "#} #").Title(string.Empty);
    }

我做错的任何线索?感谢

2 个答案:

答案 0 :(得分:1)

以下是templates概述的链接。
这是一个similar question,其中调用外部函数来执行所有处理。
这是你的similar question

我也不太清楚为什么你的0上有引号。 我已经执行了动作客户端,如果你这样做,我相信你需要输入'数据'。在你的Model之前。

`#if(data.Type == 0)`

尝试或者检查下面的链接,查看与您类似的问题的链接。

我目前无法设置一个项目进行测试,但我可以快速了解一下我如何使用布尔值(CanCanel)。

 columns.Template(@<text></text>).ClientTemplate(
                                         "<button type='button' class='myRequestsViewRequest grid-btn grid-btn-primary' style='margin: 3px 15px 3px 0;'" +
                                         "data-requestid='#= RequestId #' data-requesterdisplayname='#= RequesterDisplayName #'>View</button>" +
                                         " #if (!(data.CanCancel)) " +
                                         "{# <span class='grid-btn grid-btn-disabled'>Cancel</span> #} " +
                                         "else {# <a class='grid-btn grid-btn-primary' href='" +
                                         Url.Action("CancelRequest", "Home") +
                                         "?requestId=#= RequestId #' " +
                                         " onclick='return MyRequest_ConfirmCancel()'>Cancel</a> #}#")
          .Title("Actions")
          .Width(200);
  }) 

答案 1 :(得分:0)

如果您在以下条件中更改列值“类型”

,该怎么办?
if(#=Type# == '0')