Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Control in String rendern

Letzter Beitrag 11-02-2006 9:37 von Chris Cluss. 3 Antworten.
Seite 1 von 1 (4 Treffer)
Beiträge sortieren: Zurück Weiter
  • 11-02-2006 1:26

    Control in String rendern

    Hallo Leute!

    Wieder mal was bisschen ungewöhnliches: ich möchte gerne ein Control in einen String rendern... Es wird ein Text aus ner DB herausgeholt, und wenn ein Platzhalter vorkommt, dann soll ein Control statt diesem erscheinen...

    hat von euch da jemand einen Ansatz?

    mlg

    Lukas

    • IP-Adresse ist Registriert
  • 11-02-2006 8:05 Antwort zu

    Re: Control in String rendern

    Lukas Dorn schrieb:

    > Wieder mal was bisschen ungewöhnliches: ich möchte gerne ein Control in einen String rendern... Es wird ein Text aus ner DB herausgeholt, und wenn ein Platzhalter vorkommt, dann soll ein Control statt diesem erscheinen...
    > hat von euch da jemand einen Ansatz?

    Render des Controls (mit dem feuern der notwendigen Events) in einem
    String, am Beispiel einer UserControls.

    public string RenderUserControl(string path)
    {
    Page page = new Page();
    UserControl control = (UserControl) page.LoadControl(path);
    // Hier noch Kram einbauen um das Control mit Daten zufüllen
    page.Controls.Add(control);
    StringWriter html = new StringWriter();
    HttpContext.Current.Service.Execute(page, html, false);
    return html.ToString();
    }

    --

    Freundliche Grüße

    Albert Weinert

    http://der-albert.com
    • IP-Adresse ist Nicht registriert
  • 11-02-2006 9:23 Antwort zu

    AW: Control in String rendern

        Public Function RenderUserControlToString(ByVal ctlControl As System.Web.UI.UserControl) As String

            Dim sb As StringBuilder = New StringBuilder
            Dim sw As StringWriter = New StringWriter(sb)
            Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)

            ctlControl.RenderControl(htw)

            Return sb.ToString()
        End Function

    MAcht aber Probleme mit dem Gridview ... stattdessen kann man aber das alte Datagrid verwenden.

     

     

    • IP-Adresse ist Registriert
  • 11-02-2006 9:37 Antwort zu

    AW: Control in String rendern

    Anderer Ansatz wäre:

    Du setzt eienen Placeholder an die Stelle wo der Text erscheienen soll.

          'Text zerteilen
          Dim Arr() As String = Split("MeinTextAusDB", "Platzhaltertext")

         'Anfang des Textes zum Placeholde hinzufügen
         dim L1 as new Literal
         L1.Text=Arr(0)
         Placeholder1.Controls.Add(L1)

            If Arr.Length > 1 Then

                'das Control laden und hinzufügen
                Dim MeinControl as Control=Loadcontrol("meinPfad/meinControl.ascx")
                 Placeholder1.Controls.Add(MeinControl )

                'Ende des Textes einfügen
                dim L2 as new Literal
                 L2.Text=Arr(0)
                Placeholder1.Controls.Add(L2)

            End If

    Gruß, Chris

     

    • IP-Adresse ist Registriert
Seite 1 von 1 (4 Treffer)