Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    funzione per titolo pagina dinamico

    Ciao a tutti!

    Premetto che sono nuova alla programmazione in asp.net

    Vorrei creare il titolo delle mie pagine web in modo dinamico ho quindi implementato un'apposita funzione che però non funziona.
    Mi spiego meglio. Innanzitutto ecco il codice:

    Nella mia pagina web ho:

    codice:
    <asp:Content ID="Content0a" ContentPlaceHolderID="titolo_head" Runat="Server">
    		<title> Tit <%#titolo()%></title>
    </asp:Content>
    siccome avevo problemi a far funzionare la funzione, l'avevo ridotta proprio ad una inezia:
    codice:
        Function titolo() As String
            Dim restituzione As String = "a"
            Return restituzione
        End Function
    Ma a video viene stampato solo "Tit".... come è possibile?

    Grazie in anticipo

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Perchè se non ricordo male tutto ciò che scrivi con <%# ... %> è legato al Bind.
    (Cioè funziona se è incapsulato in un oggetto legato all'operazione di Bind)

    Un metodo per fare ciò che vuoi fare è questo:
    codice:
        <head runat="server" id="testata" />
    
        Dim head As New System.Web.UI.HtmlControls.HtmlHead
        head = Me.FindControl("testata")
        head.Title = "Pagina XX"

  3. #3
    scusa, potresti spiegarmi meglio?...

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    <%# NomeFunzione() %>

    funziona nei template di oggetti come il GridView, legati al BIND (#)

    non ho provato con gli oggetti 'base', ma credo sia cosi'.

  5. #5
    Originariamente inviato da djciko
    <%# NomeFunzione() %>

    funziona nei template di oggetti come il GridView, legati al BIND (#)

    non ho provato con gli oggetti 'base', ma credo sia cosi'.
    Anche io ho vaghi ricordi relativi a questa funzionalità. Pertanto credo abbia ragione nella tua spiegazione.

  6. #6
    scusa, mi riferivo al codice che mi hai scritto....

    se non usassi la funzione ma mettessi direttamente quello che deve fare?

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Nella pagina ASPX hai:
    codice:
    <head runat=server id="miahead" />
    giusto ?

    Basta mettere quel codice nel Page_Load o dove vuoi per rendere il titolo dinamico.

  8. #8
    io ho

    codice:
    <asp:Content ID="Content0a" ContentPlaceHolderID="titolo_head" Runat="Server">
    </asp:Content>
    perchè ho impostata una MasterPage

  9. #9
    nella mia master page ho messo:

    codice:
    <head runat="server" id="testata" >
    e nel page_load ho messo

    codice:
            Dim head As New System.Web.UI.HtmlControls.HtmlHead
            head = Me.FindControl("testata")
            head.Title = "Pagina XX"
    Ma mi dà errore dicendo:

    Riferimento a un oggetto non impostato su un'istanza di oggetto

    sulla riga con head.Title


    Inoltre, nel tag head devo aggiungere degli script, oltre che i meta tag.... come posso fare?

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    mi sa che essendo incapsulata nella MP non e' direttamente 'pescabile' la head, prova a recuperare prima una istanza di "Content0a" e poi cercare all'interno di essa con FindControl...


    Per aggiungere gli script, prova con .Attributes.Add(....)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.