Asp.net Html Çıktısında Boşlukları Silme
SanalData’yı Google’da tercih edilen kaynak olarak ekleyinMerhaba arkadaşlar .net ile site oluşturduktan sonra sitemiz render işlemi sonrasında html kaynak kodları arasında boşluklar olduğunu görürüz bu boşluklar hem sayfaların yavaş açılmasını hemde seo (google page speed ) açısında eksi puan oluşturmaktadır.Aşağıdaki kodlar yardımıyla sizlerde artık boşluklarda kurtulabilirsiniz 🙂
1.adım kütüphanemizi yükleyelim
|
1 |
using System.Text.RegularExpressions; |
2.Adım hangi sayfada html temizlenicekse yada masterpage kullanıyorsanız aşağıdaki kodlar yapıştırıverin gitsin 🙂
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private static readonly Regex REGEX_BETWEEN_TAGS = new Regex(@">\s+<", RegexOptions.Compiled); private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s+", RegexOptions.Compiled); protected override void Render(HtmlTextWriter writer) { using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter())) { base.Render(htmlwriter); string html = htmlwriter.InnerWriter.ToString(); html = REGEX_BETWEEN_TAGS.Replace(html, "> <"); html = REGEX_LINE_BREAKS.Replace(html, string.Empty); writer.Write(html.Trim()); } } |
Eğerki hem hem viewstateleri footer indirme hemde boşlukları silmek isterseniz aşağıdaki kodları kullanabilirsiniz.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
private static readonly Regex REGEX_BETWEEN_TAGS = new Regex(@">\s+<", RegexOptions.Compiled); private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s+", RegexOptions.Compiled); protected override void Render(HtmlTextWriter writer) { using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter())) { base.Render(htmlwriter); string html = htmlwriter.InnerWriter.ToString(); html = REGEX_BETWEEN_TAGS.Replace(html, "> <"); html = REGEX_LINE_BREAKS.Replace(html, string.Empty); // html = html.Trim().Replace("<form", "<div"); html = html.Trim(); int StartPoint = html.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\""); if (StartPoint >= 0) { int EndPoint = html.IndexOf("/>", StartPoint) + 2; string viewstateInput = html.Substring(StartPoint, EndPoint - StartPoint); html = html.Remove(StartPoint, EndPoint - StartPoint); int FormEndStart = html.IndexOf("</form>"); if (FormEndStart > 0) { html = html.Insert(FormEndStart, viewstateInput); } } writer.Write(html); } } |
Günün zaman çizelgesi
Haber eklenme saatine göre sıralanır.
- Bugün
- K2’nin İlk Kış Zirvesini Anlatan Belgesel Apple TV’de
- Kaliforniya’da robotaksilere acil durum engeli için ceza
- Apple’ın metin bildirimli akıllı ev kamerası iddiası
- Apple, iPhone Duo için yeni Shot on iPhone kampanyasını başlattı
- Apple, Brüksel’de teknoloji lobisinin en aktif şirketlerinden
- Apple gündeminde iPhone Duo, AirPods 5 ve mesajla sipariş
- Armadin, yapay zekâ güvenliği için 255,5 milyon dolar topladı
- Lyft, sürücü sınıflandırması davasında 272,5 milyon dolar ödeyecek
- GrayKey, iPhone’un 72 saatlik güvenlik kilidini aşabilir
- Grok’un Maduro operasyonunu Trump’a önerdiği iddia edildi
- GTA 6’nın hava sistemi yerel yağış ve kasırgalar sunacak
- Apple Arcade kataloğuna beş yeni oyun eklendi
- Dün
- Audible, yapay zekâ destekli interaktif hikâyeleri duyurdu
- Kena: Scars of Kosmora’nın çıkışı 2027’ye ertelendi