簡體   English   中英

如何使用C#獲取文檔的特定HTML元素並隱藏/顯示它們等

[英]How to get at specific HTML elements of a document using C# and Hide them/Show them etc

基本上,我想加載HTML文檔並使用諸如多個復選框之類的控件,這些控件將被編程為隱藏,刪除或顯示具有特定ID的HTML元素。 因此,我想我必須將一個內聯CSS屬性設置為可見性:在需要隱藏或完全刪除它們的那些屬性上為false。

我需要這樣做,所以我不必一直在Dreamweaver中編輯我的Ebay HTML模板,通常我需要在凌亂的代碼中滾動並手動刪除或添加標簽及其各自的內容。 鑒於我只想在Dreamweaver中創建一個主模板,該模板具有我的產品的所有變體,因為它們都是同一類型,並且在各處都有一些細微的變化,我只需要根據需要啟用和禁用這些變體的可見性即可。並復制並粘貼最終的html。

我以前從未使用過Windows Forms,但是我嘗試在WebForms中進行此操作,我確實知道一點。 通過將所有HTML元素包裝在<asp:PlaceHolder></asp:PlaceHolder> ,然后在選中關聯的復選框並發生回發之后,將<asp:PlaceHolder></asp:PlaceHolder>符的可見性設置為false,就可以得到所需的結果。添加一個復選框/按鈕控件,以刪除所有復選框,包括最終html本身的復選框。 但是這種方法似乎讓我非常痛苦,因為我必須在我需要控制的所有內容周圍添加占位符標簽,因為普通的html元素不在服務器上運行,而且webforms注入了一堆Javascript和ViewState數據,所以我不這樣做沒有干凈的HTML,可以在查看頁面源代碼后復制它們。

您能建議在對現有HTML文檔進行最少更改的情況下達到預期效果的任何技巧/代碼嗎? 理想情況下,我想將HTML文檔加載到其中,對其進行實時設計預覽,並在其下面有一堆標記良好的復選框,這些復選框被編程為隱藏,刪除或顯示具有特定ID的元素。

謝謝...

我認為這將為您工作:

HtmlControl ctl = new HtmlGenericControl( "div" );
ctl.visible = false;

您是否考慮過使用JQuery? 如果要顯示/隱藏的元素具有固定的ID,則這可能是一種快速而骯臟的解決方案。

<table runat="server" id="tblMain">
      <tr runat="server" id="tr1">
              <td runat="server" id="tdName">
                 dummy name
              </td>
              <td runat="server" id="tdSurname">
                  dummy surname
              </td>
              ...

您可以使用tdSurname.visible = "false"; tdSurname.Style["Visibility"] = "Hidden";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM