我正在使用Visual Studio 2015来创建ASP.NET网站。我有一个默认隐藏的DIV,如果用户选中复选框,我试图显示它。我想知道是否有一种方法使用C#在用户选中该框后立即显示DIV。如果没有首次提交表单,我似乎无法找到识别状态变化的方法。我可以使用JavaScript轻松实现这一点,但这是一个单一的分配,需要在C#中实现功能。 这是checkBox的HTML:
<form id="form1" runat="server">
Limit Stations To My Location<asp:CheckBox ID="limitOptions" runat="server" onClick="toggleOptions()" />
<br /><br />
<div id="locationOptions" runat="server" hidden="hidden">
Radius (KM)<asp:TextBox ID="radius" runat="server" Text="100"></asp:TextBox>
<asp:Button ID="updateList" runat="server" Text="Button" OnClick="updateList_Click"/>
</div>
非常感谢任何帮助。
答案 0 :(得分:1)
您可以在代码后面使用C#执行此操作。将AutoPostBack
事件添加到CheckBox并将Panel
设置为true并处理更改。请注意,div
在HTML中成为<asp:CheckBox ID="limitOptions" runat="server" OnCheckedChanged="limitOptions_CheckedChanged" AutoPostBack="true" />
<asp:Panel ID="locationOptions" runat="server" Visible="false">
Radius (KM) <asp:TextBox ID="radius" runat="server" Text="100"></asp:TextBox>
</asp:Panel>
。
<asp:CheckBox ID="limitOptions" runat="server" onclick="toggleOptions()" />
<div id="locationOptions" runat="server" style="display: none">
Radius (KM)<asp:TextBox ID="radius" runat="server" Text="100"></asp:TextBox>
</div>
<script type="text/javascript">
function toggleOptions() {
var id = '#<% =locationOptions.ClientID %>';
if ($(id).css('display') == 'none') {
$(id).slideDown('fast', function () { });
} else {
$(id).slideUp('fast', function () { });
}
}
</script>
然而,这会导致PostBack,所以只使用JavaScript可能是更好的选择。
ThisList.ItemsSource = folderItem;