Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ASP.NET复选框隐藏div?_Asp.net_Html_Checkbox_Hide - Fatal编程技术网

如何使用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;
}