0
   <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,反之亦然。而且我想在不触发 CheckChanged 复选框的情况下做同样的事情。

是否可以在 ASP.NET 中使用 Eval,就像我在上面的代码中使用它一样。

注意:我已经使用了上面的代码,但在我的情况下它不起作用。

4

1 回答 1

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>

现场演示:http: //jsfiddle.net/VnCpP/

于 2013-02-27T10:22:53.790 回答