如何使用ASP.NET复选框隐藏div?
我正在尝试这样做,为复选框标记上的事件指定一个方法,如下所示:如何使用ASP.NET复选框隐藏div?,asp.net,html,checkbox,hide,Asp.net,Html,Checkbox,Hide,我正在尝试这样做,为复选框标记上的事件指定一个方法,如下所示: OnCheckedChanged="ShowDiv" 然而,我一点也不成功。怎么做?以下是我的方法: public void ShowDiv(object sender, System.EventArgs e) { var div = FindControl("ListaEmOutrosDocumentos") as HtmlGenericControl; var chec
OnCheckedChanged="ShowDiv"
然而,我一点也不成功。怎么做?以下是我的方法:
public void ShowDiv(object sender, System.EventArgs e)
{
var div = FindControl("ListaEmOutrosDocumentos") as HtmlGenericControl;
var checkbox = FindControl("Principal") as CheckBox;
if(checkbox.Checked == true)
{
div.Style.Clear();
div.Style.Add("display","block");
}
else
{
div.Style.Clear();
div.Style.Add("display","none");
}
}
您可以考虑使用ASP.NET面板控件而不是div。它将具有可设置的可见属性。
> P>您可以考虑使用ASP.NET面板控件而不是div。它将具有可设置的可见属性。 我这样做了,效果很好
<div id="ListaEmOutrosDocumentos" runat="server">
<asp:CheckBox runat="server" ID="Principal" AutoPostBack="True" OnCheckedChanged="ShowDiv"/>
</div>
我这样做了,它成功了
<div id="ListaEmOutrosDocumentos" runat="server">
<asp:CheckBox runat="server" ID="Principal" AutoPostBack="True" OnCheckedChanged="ShowDiv"/>
</div>
仅使用服务器端代码的快速方法 Aspx
仅使用服务器端代码的快速方法 Aspx
复选框是否嵌套在其他内容中?页面重新呈现时是否呈现“显示样式”属性?它有什么值?另外,我假设您是在选中复选框后通过设置AutoPostBack或使用单独的postback触发器(如按钮)发回的。是这样吗?@爱尔兰酋长复选框在一个分区内。@AnnL。我没有考虑取消自动回邮设置。我试试看!复选框是否嵌套在其他内容中?页面重新呈现时是否呈现“显示样式”属性?它有什么值?另外,我假设您是在选中复选框后通过设置AutoPostBack或使用单独的postback触发器(如按钮)发回的。是这样吗?@爱尔兰酋长复选框在一个分区内。@AnnL。我没有考虑取消自动回邮设置。我试试看!它可能会带来可能的副作用。当Visible属性设置为false时,根本不会呈现控件。display=none做了一点不同的事情:控件是呈现的,但是可见性是由CSS控制的。它可能会引入可能的副作用。当Visible属性设置为false时,根本不会呈现控件。display=none做了一些不同的事情:呈现控件,但可见性由CSS控制。
<div id="myDiv" runat="server" style="height:200px;width:100px;background-color:Blue"></div>
<asp:CheckBox ID="chkShowHideDiv" runat="server" AutoPostBack="True"
oncheckedchanged="chkShowHideDiv_CheckedChanged" Text="Hide Div" />
protected void chkShowHideDiv_CheckedChanged(object sender, EventArgs e)
{
myDiv.Visible = chkShowHideDiv.Checked ? false : true;
}