Gewöhnliche Steuerelemente können im Kopfbereich einer Webseite nicht verwendet werden, sie sind jedoch manchmal sehr wichtig, z. B. Titel, Schlüsselwörter und Beschreibung, die auf jeder Seite unterschiedlich sein können. Wie können wir sie also dynamisch entsprechend festlegen? Inhalt?
Methode 1: Was asp kann, kann asp.net natürlich tun. Solange Sie die gesamte Seite mit Response.Write () schreiben, gibt es nichts, was nicht angepasst werden kann bestimmtes Mitglied%" >". Aber offensichtlich können die Eigenschaften von .net dadurch nicht ausgenutzt werden.
Methode 2: Verwenden Sie das eindeutige Attribut von asp.net: runat="server", legen Sie eine ID für den Titel fest und machen Sie ihn dann zu einer Servervariablen. Anschließend können Sie den Text festlegen. Aber der HTML-Code, der so ausgegeben wird, enthält auch eine ID, was wirklich unangenehm anzusehen ist.
Methode 3: Verwenden Sie die wörtliche Steuerung, Rezeption:
Darüber hinaus verwendet meine Seite viele Benutzersteuerelemente, und diese Benutzersteuerelemente haben Ebenen. Der Titel der Seite kann durch ein Unterbenutzersteuerelement in einem Benutzersteuerelement bestimmt werden, und die Verschachtelungsebene der Benutzersteuerelemente ist nicht festgelegt. Wie kann man es also dynamisch einstellen?
Erstellen Sie auf der Startseite eine Basisklasse für die Benutzersteuerung und fügen Sie ihr eine öffentliche Methode hinzu:
public void SetTitle(string title)
{
SetLiteralText("lt_title", string.Format("
if(ctrl != null)
{
lt = ctrl.FindControl(id) as Literal;
if(lt != null)
lt.Text = text;
}
}
Auf diese Weise muss Ihr Benutzersteuerelement nur von dieser Basisklasse erben und dann base.SetTitle("title") aufrufen, wenn Sie den Titel der Seite festlegen möchten, und die Aufgabe ist einfach abgeschlossen. Für andere Tags im Kopfbereich gilt das gleiche Prinzip wie beim Setzen des Titels.