it-swarm.com.de

Kann ich dynamisch HTML innerhalb eines div-Tags aus C # beim Laden eines Ereignisses hinzufügen?

Wohlgemerkt, ich verwende Masterseiten, aber kann ich ein div auf der Seite finden und dort etwas HTML hineinwerfen? Vielen Dank.

45
Sara Chipps

Sie können der Seite ein div mit runat = "server" hinzufügen:

<div runat="server" id="myDiv">
</div>

und setzen Sie dann die InnerHtml-Eigenschaft im Code-Behind:

myDiv.InnerHtml = "your html here";

Wenn Sie den Inhalt des DIV auf der Client-Seite ändern möchten, können Sie den folgenden Javascript-Code verwenden:

<script type="text/javascript">
    Sys.Application.add_load(MyLoad);
    function MyLoad(sender) {
        $get('<%= div.ClientID %>').innerHTML += " - text added on client";
    }
</script>
81
M4N

Verwenden asp:Panel dafür. Es übersetzt in ein div.

15
Otávio Décio

Denken Sie daran, mit

myDiv.InnerHtml = "something";

ersetzt alle HTML-Elemente in myDIV. Sie müssen Text anhängen, um dies zu vermeiden. Dies kann hilfreich sein

myDiv.InnerHtml = "something" + myDiv.InnerText;

hTML-Steuerelemente in myDiv, jedoch keine ASP HTML-Steuerelemente (da diese noch nicht gerendert wurden).

5
Vivek Raj

Sie können Steuerelemente auf der Masterseite folgendermaßen referenzieren:

void Page_Load()
{
    ContentPlaceHolder cph;
    Literal lit;

    cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

    if (cph != null) {
        lit = (Literal) cph.FindControl("Literal1");
        if (lit != null) {
            lit.Text = "Some <b>HTML</b>";
        }
    }

}

In diesem Beispiel müssen Sie ein Literal-Steuerelement in Ihren ContentPlace-Inhaber einfügen.

3
splattne

Sie möchten Code in den Masterseitencode einfügen, der HTML in den Inhalt einer Seite einfügt, die diese Masterseite verwendet?

Ich würde nicht über FindControl nach dem Steuerelement suchen, da dies eine fragile Lösung ist, die leicht beschädigt werden kann, wenn der Name des Steuerelements geändert wird.

Am besten deklarieren Sie ein Ereignis auf der Masterseite, das von jeder untergeordneten Seite verarbeitet werden kann. Das Ereignis könnte den HTML-Code als EventArg übergeben.

1
Jim Petkus