2013-12-17 32 views
1

我想在呈現之前從asp.net的網頁(aspx頁面)中刪除一些html標記。在調試過程中,它顯示標籤被刪除,但當頁面被加載時,標籤再次生成。我怎樣才能刪除標籤?如何在asp.net中呈現之前從網頁(aspx頁面)中刪除一些html標記?

這裏是我使用的代碼: -

protected override void Render(HtmlTextWriter writer) 
{ 
    var regex = new Regex("<!--SCRIPT[\\s\\S]*?REMOVE-->[\\s\\S]*?REMOVE-->", RegexOptions.Singleline | RegexOptions.IgnoreCase); 
    using (WebClient client = new WebClient()) 
    { 
     string htmlCode = client.DownloadString(Server.MapPath("default.aspx")); 
     string output = regex.Replace(htmlCode, "");    
    } 
} 
+1

你們是不是要刪除標記,你正在產生還是那個已經在網頁上?取決於你想要做什麼,不同的方法是可能的。請提供一些代碼。 –

+0

我正嘗試刪除運行時生成的標籤。我重寫渲染事件並在那裏編寫我的代碼,並且在調試過程中顯示標記被刪除,但是當頁面被加載時,標記又被生成了! –

回答

1

試試這個

String result = Regex.Replace(htmlDocument, @"<[^>]*>", String.Empty); 

或者試試這個

Regex regex = new Regex(@"</?\w+((\s+\w+(\s*=\s*(?:"".*?""|'.*?'|[^'"">\s]+))?)+\s*|\s*)/?>", RegexOptions.Singleline); 

Source

+0

感謝您的答案,但問題是,在調試期間,它顯示標籤被刪除,但當頁面被加載後,標籤再次生成! –

+0

哦然後使用IsPostback屬性... –

相關問題