使用Page Render与ResponseFilters

时间:2012-07-17 07:00:31

标签: asp.net

基本上我正在寻找一种删除给定页面的脚本标记的方法。我使用RegEx来完成此操作“src = \”({0})\“。”在覆盖void Render(HtmlTextWriter writer)方法。但是我发现如果在Render方法中操作HTML,则第一个字节的时间会增加。我想知道是否有更好的方法使用ResponseFilters而不妥协关于表现

                StringBuilder regExpressionForScriptTags = new StringBuilder();
                regExpressionForScriptTags.AppendFormat("<script .*src=\"({0})\".*</script>", sRepalcableScripts);

                Regex scriptTags = new Regex(regExpressionForScriptTags.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
                MatchCollection collection = scriptTags.Matches(RawHtml);

                int? firstMatchPosition = null;

                RawHtml = scriptTags.Replace(RawHtml, new MatchEvaluator(delegate(Match match)
                {
                    if (!firstMatchPosition.HasValue)
                        firstMatchPosition = match.Index;

                    return string.Empty;
                }));

0 个答案:

没有答案