我有一个按钮,如下所示:
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: Unable to set property 'display' of undefined or null reference.
虽然它找到了按钮,但样式呈现为未定义。
最佳答案
由于您仅通过其显示 CSS 属性隐藏了按钮的主要包装元素,因此您应该使用相同的内容再次显示它:
linkButton1.get_element().style.display="inline-block";
关于c# - 启用/禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683184/