asp.net 生成静态时的过滤viewstate的实现方法 |
复制代码 代码如下: public static string GetSourceTextByUrl(string url) { WebRequest request = WebRequest.Create(url); request.Timeout = 200000;//20秒超时 WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader sr = new StreamReader(resStream); string tempstr = sr.ReadToEnd(); Regex r1 = new Regex("<input type=\"hidden\" name=\"__EVENTTARGET\".*/>", RegexOptions.IgnoreCase); Regex r2 = new Regex("<input type=\"hidden\" name=\"__EVENTARGUMENT\".*/>", RegexOptions.IgnoreCase); Regex r3 = new Regex("<input type=\"hidden\" name=\"__VIEWSTATE\".*/>", RegexOptions.IgnoreCase); //过滤<form>代码 Regex r4 = new Regex("<form name=\"aspnetForm\".*id=\"aspnetForm\">", RegexOptions.IgnoreCase); Regex r5 = new Regex("</form>"); tempstr = r1.Replace(tempstr, ""); tempstr = r2.Replace(tempstr, ""); tempstr = r3.Replace(tempstr, ""); tempstr = r4.Replace(tempstr, ""); tempstr = r5.Replace(tempstr, ""); return tempstr; } |