2012-07-02 19 views
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 

是否有可能保持父DIV(子DIV)中的HTML和刪除周圍的父母DIV?

任何幫助表示讚賞。

馬爾切利諾

+0

如果你想這樣做,服務器端或客戶端? – yogi

+0

Yogi, 什麼效果最好,最容易編碼。會愛也知道兩個(客戶端和服務器端)。 目前我正在它的服務器端工作。 –

回答

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> 
+0

非常感謝!真的有用 –