<asp:CheckBox ID="cbIsSignificantRegistration" runat="server"
AutoPostBack="True" />
<asp:TextBox ID="txtSignificantOtherName" ReadOnly='<%# cbIsSignificantRegistration.Checked %>' runat="server" class="tblTxt" MaxLength="100"></asp:TextBox>
<asp:Button ID="btnSignificantOtherSearch" runat="server" Enabled='<%# cbIsSignificantRegistration.Checked %>' OnClick="Button1_Click" Text="Search" />
参考上面的代码我想在用户选中CheckBox时启用TextBox和Button,反之亦然。而且我想在不触发Checkbox的CheckChanged事件的情况下做同样的事情。
是否可以在ASP.NET中使用Eval,就像我在上面的代码中使用它一样。
注意:我已经使用了上面的代码,但在我的情况下它不起作用。
答案 0 :(得分:1)
ASP.NET是服务器端,因此这只会在页面加载时设置启用状态。之后的任何用户交互都不会被触发。
最好的解决方案是使用Javascript触发事件来启用/禁用文本框。
使用jQuery:
$(function(){
$(".chk").change(function(){
$(".txt").attr("disabled", !$(this).is(":checked"));
});
});
<asp:CheckBox ID="cbIsSignificantRegistration" runat="server"
AutoPostBack="True" CssClass="chk" />
<asp:TextBox ID="txtSignificantOtherName" runat="server" class="tblTxt txt" MaxLength="100"></asp:TextBox>