【发布时间】:2021-12-23 01:45:57
【问题描述】:
我的页面有一个组合框,用于过滤网格值。我试图在组合框为空时禁用网格的“添加新记录”按钮,并在选择值时启用该按钮,然后加载网格。
我有以下 JavaScript 函数,它会禁用 pageLoad 上的按钮,但我以后无法启用该按钮。我该怎么办?
function pageLoad() {
var grid = $find("<%=grid1.ClientID %>");
Button1 = $telerik.findControl(grid.get_element(), "AddNewRecordButton");
Button1.set_visible(false);
}
在尝试使用 PreRender 方法后,我尝试启用组合框“SelectedChangeIndex”上的按钮,但有任何结果。
if (radcombobox1.SelectedValue != null)
{
GridCommandItem cmditem = (GridCommandItem)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0];
Telerik.Web.UI.RadButton addbtn = (Telerik.Web.UI.RadButton)cmditem.FindControl("AddNewRecordButton");
addbtn.Visible = true;
}
else
{
// alert
}
【问题讨论】:
-
您是否在服务器端代码中启用该按钮,然后在客户端代码中立即禁用它?为什么有两种不同的方法?为什么不同时做服务器端或客户端?
-
我宁愿在服务器端做,但没有得到任何结果。在客户端,我不知道该怎么做,但是如果有一个好的方法,我会尝试遵循它
-
这取决于这里发生的整体用户体验。哪些操作会导致回发?哪些操作需要 导致回发?如果 您所做的所有 是“禁用”和“启用”(通过实际禁用或隐藏或某种 UI 更改)一个元素,那么这当然可以而且应该完全是客户端。但如果混入其中,您还有一些需要回发的操作,那么这会改变事情。
-
是的,它只是启用/禁用操作,但是组合框/网格加载需要回发,所以我真的不知道管理这种情况的最佳方法是什么
标签: c# jquery asp.net telerik-grid telerik-combobox