如何保持子控件只删除周围的父控件?

时间:2012-07-02 11:46:43

标签: asp.net controls htmlgenericcontrol

我有一段这样的代码:

<div id="container" runat="server">
<div id="parent" runat="server">
<div id="child" runat="server">
<p>Some Content</p>
</div>
</div>
</div>

在某种情况下,我想删除父DIV并保持子DIV完整。

使用这样的东西会删除完整的html(父+子):

container.Controls.Remove(container.FindControl("parent"))

parent.visible = false

是否可以将html保留在父DIV(子DIV)中并删除周围的父DIV?

任何帮助表示感谢。

马尔切利诺

1 个答案:

答案 0 :(得分:0)

试试这个

    <div id="container" runat="server">
            im container
            <br />
            <div id="parent" runat="server">
                im parent
                <br />
                <div id="child" runat="server">
                    i am child
                    <br />
                </div>
            </div>
        </div>
        <asp:Button runat="server" Text="remove" OnClick="remove_clicked" />
<input type="button" value="client remove" onclick="remove();" />

<强> 1。对于服务器端解决方案

 protected void remove_clicked(object sender, EventArgs e)
    {
        HtmlGenericControl tempChild = child;
        container.Controls.Remove(parent);
        container.Controls.Add(tempChild);
    }

<强> 2。对于客户端解决方案

<script type="text/javascript" language="javascript">
        function remove() {
            var container = document.getElementById('<%= container.ClientID %>');
            var parent = document.getElementById('<%= parent.ClientID %>');
            var child = document.getElementById('<%= child.ClientID %>');
            container.removeChild(parent);
            container.appendChild(child);
        }
    </script>