我正在尝试根据用户从下拉列表中选择的值来禁用页面上的面板,但显然这并不像我想象的那么简单。我的代码看起来像这样:
private void theList_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
{
panelOne.Enabled = false;
}
但似乎在达到此方法时,panelOne
内实际禁用的唯一控件是日期选择器(telerik:RadDatePicker)。其他控件仅在我更改同一面板中的单选按钮上的选择后才会禁用。有没有人知道发生了什么?我正在使用Telerik的RadControls,但我不确定这个问题是否特定于它们的控件,或者它是否也会影响其他控件。
这是小组本身:
<asp:Panel ID="panelOne" runat="server" >
<!-- this disables -->
<telerik:RadDatePicker ID="rdpDate" runat="server" />
<!-- this doesn't disable -->
<asp:TextBox ID="txtTest" runat="server" />
</asp:Panel>
如果我在panelOne.Enabled = False
内设置Page_Load()
,则面板内的所有控件都会禁用,但这不是我正在寻找的。当用户从下拉列表中选择某个值时,文本框只需要禁用。
更新:我发现在aspx中添加以下内容有效:
<telerik:AjaxUpdatedControl ControlID="txtTest" LoadingPanelID="pnlLoading" />
如果我对整个面板执行上述操作,会有一些奇怪的行为,所以我必须为每个控件单独执行...