我在我的asp页面中使用了asp按钮和telerik radcombobox,并且该按钮最初被禁用标记。当用户从radcombobox中选择一个项目时,OnClientSelectedIndexChanged事件将触发,我在那里启用该按钮。但是一旦启用它并且我单击按钮,它在回发后再次被禁用。
<telerik:RadComboBox ID="rcbModel" runat="server" Skin="MetroTouch" Width="100%"
EmptyMessage="Select Model" Height="120px" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
<Items>
<telerik:RadComboBoxItem runat="server" Text="Model 1" />
<telerik:RadComboBoxItem runat="server" Text="Model 2" />
</Items>
</telerik:RadComboBox>
<asp:Button ID="btnAdd" runat="server" Text="Add" Enabled="false" />
脚本:
function OnClientSelectedIndexChanged() {
$('#<%=btnAdd.ClientID %>').prop("disabled", false);
}
这是我在回发后启用按钮的最佳方式吗?
答案 0 :(得分:0)
您可以尝试将更新面板放在添加按钮上。
答案 1 :(得分:-1)
保留javascript代码并在回发后执行相同工作,在后面的代码中,检查radcombobox的项目,如果已更改启用您的按钮。
btnAdd.Enabled = true;
答案 2 :(得分:-1)
保持JavaScript和RadComboBox标记相同,并从按钮的标记中删除Enabled="false"
代码。在页面的服务器端Page_Load
事件中,根据是否已选择值设置按钮的Enabled
属性:
public void Page_Load(object sender, EventArgs e)
{
btnAdd.Enabled = (rcbModel.SelectedIndex > -1);
//...
}
当显示RadComboBox的空消息文本时,在您选择“Select Model”的情况下,SelectedIndex
值将为-1。