启用/禁用按钮

时间:2014-05-15 15:53:19

标签: c# javascript telerik

我有一个按钮如下:

RadButton lnkAdd = new RadButton();
lnkAdd.ID = "BtnAdd";
lnkAdd.CommandName = RadGrid.InitInsertCommandName;
lnkAdd.Text = "Add New Record";
lnkAdd.Style.Add("display", "none");
container.Controls.Add(lnkAdd);

我想点击网格中的一行来启用它。我有以下JavaScript来执行此操作:

function OnRowSelected(sender, args) {       
    var clientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];   
    var clientDataKeyValue = args.get_tableView().get_selectedItems()[0].getDataKeyValue(clientDataKeyName);     
    var grid = args.get_tableView(); 
    var linkButton1 = $telerik.findControl(grid.get_element(), "BtnAdd");  
    if (clientDataKeyValue == "Proposal") {
        linkButton1.set_enabled(false);
    }
    else
        linkButton1.set_enabled(true);
}

虽然它已到达linkButton1.set_enabled(true),但该按钮未启用。 我还尝试了以下操作来启用按钮linkButton1.style.display = "block"; 但这会引发错误:

  

SCRIPT5007:无法设置属性'显示'未定义或null   参考

虽然它找到了按钮,但样式呈现为未定义。

2 个答案:

答案 0 :(得分:1)

由于您只通过其显示CSS属性隐藏了按钮的主包装元素,因此您应该使用相同的东西再次显示它:

linkButton1.get_element().style.display="inline-block";

答案 1 :(得分:0)

可以使用IsEnabled属性启用和禁用任何UIControl(包括RadioButtons)。基本上,您只需将按钮设置为

即可
linkButton1.IsEnabled = false;

要禁用按钮和

linkButton1.IsEnabled = true;

重新启用它。希望有所帮助。