如何在页面加载时更改按钮文本

时间:2015-06-03 10:44:16

标签: c# asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我想更改页面加载时的按钮文字。我正在使用静态数据而我的按钮没有显示。

模型

public class UserModel
{
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public long Phone { get; set; }
    public bool IsActive { get; set; }
}

控制器

List<UserModel> listuser = new List<UserModel>();
UserModel users = new UserModel();
users.Firstname = "Nisha mam";
users.Lastname = "Patel";
users.Phone = 90897564444;
users.IsActive = true;
listuser.Add(users);

users = new UserModel();
users.Firstname = "Namrata";
users.Lastname = "Bhavsar";
users.Phone = 9678975643;
users.IsActive = false;
listuser.Add(users);

users = new UserModel();
users.Firstname = "Anjali";
users.Lastname = "Mehta";
users.Phone = 9228975643;
users.IsActive = true;
listuser.Add(users);
return View(listuser);

查看

@Html.Kendo().Grid(Model).Name("List").Columns(c =>
{
    c.Bound(p => p.Firstname);
    c.Bound(p => p.Lastname);
    c.Bound(p => p.Phone);
    c.Bound(p => p.IsActive).Title("Unlock Payroll Entry").Filterable(false).ClientTemplate("<input type='submit' value='Unlock'></span>").Sortable(false);
})    

1 个答案:

答案 0 :(得分:1)

Kendo网格中的ClientTemplate可以包含要执行的任意javascript,这将允许您有条件地构建html。

IsActive列上的绑定尝试类似的操作。

c.Bound(p => p.IsActive)
    .Title("Unlock Payroll Entry")
    .Filterable(false)
    .ClientTemplate(
        "# if (IsActive) { #" +
        "<input type='submit' value='Unlock' />" + 
        "# } else { #" + 
        "<input type='submit' value='SomeOtherValue' />" + 
        "#}#")
    .Sortable(false);

Kendo还支持像“外部”那样指定一个模板(即在网格定义中通过名称/ id引用的单独块)。对于更复杂的javascript逻辑,这种方法可能更容易使用。