2

我有一段这样的代码:

<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?

任何帮助表示赞赏。

马切利诺

4

1 回答 1

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>
于 2012-07-02T12:56:27.103 回答