2009-05-02 8 views
0

Kennt jemand eine Möglichkeit, alle plain-html <p> Elemente in einer ASP.net-Seite serverseitig auszuwählen? In meinem Fall möchte ich ein wenig Textmanipulation auf alle anwenden, bevor sie zum Browser gehen.Wählen Sie statische HTML-Elemente nach Tag-Namen in ASP.Net

Ich realisiere, dass ich runat = server und dann FindControl für jeden hinzufügen kann. Aber das ist viel Code.

Dies wäre die Entsprechung von getElementsByTagName von Javascript, aber serverseitig.

Danke!

+0

Ich frage mich, warum Sie dies tun wollen!? – Cerebrus

+0

er hasst p Tags, klar;) –

+0

nah, kein Hass für die p-Tags. Ich möchte ein bisschen typografisches Zeug machen, die Zitate, die Art von Dingen. es ist einfach genug für Server-Tags, nicht so für reguläre Tags. Ich bin wirklich überrascht, dass dies nicht in .NET integriert ist. –

Antwort

1

können Sie Browser-Adapter für Seite verwenden: nur eine Idee: Abgeleitete Klasse von System.Web.UI.Page -> MyPage

Sie sollten BrowserAdapter erstellen und von dieser Seite machen außer Kraft setzen, in der Ausgabe werden Sie feststellen, generierter HTML-Code, der an den Client-Browser gesendet wird. In diesem Fall können Sie einige XSLT-Mutationen oder einfache XML (XPATH) -Ersetzungen vornehmen und in einem Ergebnis wird Ihre Mission erfüllt werden :).

<browsers> 
<browser refID="default"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.Page" 
       adapterType="yournamespace.TestAdapter" /> 
    </controlAdapters> 
</browser> 

public class TestAdapter : PageAdapter 
    { 
     protected override void Render(HtmlTextWriter writer) 
     { 
      /* Get page output into string */ 
      var sb = new StringBuilder(); 
      TextWriter tw = new StringWriter(sb); 
      var htw = new HtmlTextWriter(tw); 

      // Render into my writer 
      base.Render(htw); 

      string page = sb.ToString(); 

         // Here you can change output of render 

      writer.Write(page); 
     } 
    } 
+0

könnte funktionieren, haben Sie das getestet? Aber XSLT/XPath ist ein bisschen weit hergeholt, HTML ist nicht Xml von einer langen Show, vor allem die Ausgabe von Serversteuerelementen :( –

+0

Sicher, es funktioniert :) Ich benutze nicht in der Regel XSLT für diese Aktionen. Es ist der beste Weg für die Seiten-Lokalisierung. – omoto

Verwandte Themen