具有条件选择的动作的剑道网格列

时间:2014-01-21 12:24:54

标签: asp.net-mvc templates razor action kendo-grid

这是我得到的:

columns.Bound(t => t.Id)
       .Title("")
       .Template(@<text></text>)
       .ClientTemplate("<a class=\"k-button\" href='" 
            + Url.Action("Edit", "Controller") + "/#=Id#'>Edit</a>")
       .Width(110);

我需要的是根据绑定的对象类型选择特定的控制器操作。 (例如CarEdit的不同形式,当Type==1}时我们说PlaneEditType==2

我最近使用JS做了类似的事情(用于生成ClientTemplate内容)但是非常欣赏没有令人讨厌的JS的解决方案。

1 个答案:

答案 0 :(得分:4)

至于现在,这是我最好的解决方案:

columns.Bound(t => t.Id)
       .Title("")
       .Template(@<text></text>)
       .ClientTemplate("#= GetEditTemplate(data)#")
       .Width(110);

function GetEditTemplate(data) {
    var html;

    if (data.Type === 1) {
        html = kendo.format("<a class=\"k-button\" href='" + '@Url.Action("Edit1", "Controller")' + "/{0}" + " '>Edit</a>  ",
                            data.Id
        );
    }
    else {
        html = kendo.format("<a class=\"k-button\" href='" + '@Url.Action("Edit2", "Controller")' + "/{0}" + " '>Edit</a>  ",
                            data.Id
        );
    }

    return html;
}