2013-12-17 37 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属性... –

相关问题