Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [2.0-VB.NET] variabili public in file esterno

    Ciao a tutti, dopo anni 'sereni' con ASP, è giunto il momento di picchiarmi con il .net.
    Con ASP, mettevo le variabili più usate nella struttura del sito dentro ad un file chiamato variabili.inc e lo includevo. Come posso fare la stessa cosa in ASP.NET? Ho provato con questi:

    <%@Register TagPrefix="include" TagName="head" src="variabili.ascx"%>
    <include:head id="head" runat="server"></include:head>

    ma cmq il compilatore mi dice che le varie variabili non sono dichiarate...

    Grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: asp.net è un poco diverso da asp.

    Comunque, supponendo che nel progetto corrente sia necessario accedere da più pagine agli stessi dati, variabili o procedure, nella directory App_Code ci metti le tue classi (e/o moduli in basic).

    Per esempio, crei un file chiamato MioModulo.vb e dentro ci metti un modulo:

    Option Strict On

    Imports Microsoft.VisualBasic

    Public Module MioModulo
    'qui ci vanno le variabili e le procedure visibili in tutto il progetto

    End Module
    Pietro

  3. #3
    Grazie Pietro, oggi pomeriggio mi metto all'opera!

  4. #4
    ehm...non ho visual basic...sto andando di notepad.
    Per facilitarvi metto qua il codice ASP che vorrei 'tradurre' in asp.net


    pagina variabili.ap:

    <%nome = "pippo"%>

    ***************************

    pagina index.asp:


    <%response.write (nome)%>

    Abbiate pazienza...

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    http://aspnet.html.it/guide/
    :quote: :master: Le hai lette queste guide?


    ps. Io penso che scrivere .net con notepad sia solo per persone con le palle quadre, ma anche in questo caso bisogna essere un po' matti. Se non sbaglio ci sono molti prodotti gratuiti per scrivere pagine asp.net e, se non sbaglio, pure visual studio. :master:


    Pietro

  6. #6
    è solo che con un pò di pazienza sono riuscito a convertire una pagina ASP 'delle mie' con lettura dal db etc. e ci ho messo anche un sistema per le url brevi, volevo solo completare la pagina riproducendo la struttura che uso di solito con funzioni e costanti varie in file inclusi....ora sto installando il visual web developer...certo che 400 mb per capire come fare un include volevo proprio risparmiarmele...

    grazie cmq pietro, sei stato gentilissimo!

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Tsuboshi
    è solo che con un pò di pazienza sono riuscito a convertire una pagina ASP 'delle mie' con lettura dal db etc. e ci ho messo anche un sistema per le url brevi, volevo solo completare la pagina riproducendo la struttura che uso di solito con funzioni e costanti varie in file inclusi....ora sto installando il visual web developer...certo che 400 mb per capire come fare un include volevo proprio risparmiarmele...

    grazie cmq pietro, sei stato gentilissimo!
    Il fatto è che è difficile spiegare le basi di .net a chi ne è digiuno. Ecco perchè mi pare meglio come inizio leggersi delle guide.

    Comunque, in .net non si usa come in asp, includere file.

    Per fare questo, si crea una directory chiamata App_Code. Li si crea uno o più file.
    Per esempio, io ho messo il file MioModulo.vb.

    Dentro questo file metto un modulo (basic) o una classe con tutti gli elementi static (c#)
    Solo a titolo di esempio metto una property e un metodo, che saranno visibili in tutte le pagine

    codice:
    Option Strict On
    Imports o = System.Data.OracleClient
    Imports l = libreria.ModuloWeb
    
    
    Imports Microsoft.VisualBasic
    
    Public Module gl
        Public ReadOnly Property StringaConnessione() As String
            Get
                Return ConfigurationManager.ConnectionStrings("StringaConnessione").ConnectionString
            End Get
        End Property
    
    
    
        Public Sub disconnessione(ByVal pagina As Page)
            'cancella tutti i cookie creati dall'applicazione
            l.CancellaCookies()
    
            'Rimuove il ticket di autenticazione
            FormsAuthentication.SignOut()
    
            'abbandona la sessione
            pagina.Page.Session.Abandon()
    
            'Percorso virtuale della richiesta corrente
            pagina.Page.Response.Redirect(pagina.Request.ApplicationPath)
    
        End Sub
    
    
    End Module
    Pietro

  8. #8
    Ancora grazie! Ho fatto ancora un giretto online e con il visual developer che mi indicava gli errori penso di aver risolto. Metto qua il codice, per futuri visitatori

    IN UNA PAGINA DEFAULT.ASPX VA MESSO QUESTO CODICE:

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <% =variabili.variabile1%>
    </div>
    </form>
    </body>
    </html>


    E IN APP_CODE IN UNA PAGINA CHE VA CHIAMATA CLASS1.VB QUESTO CODICE:


    Imports Microsoft.VisualBasic

    Public Module variabili
    Public variabile1 As String = "pippo"
    End Module



    ho provato con diverse variabili e chiaramente va. Il prossimo passo è metterci delle funzioni...

    grazieeee del supporto!

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    allora tutto bene. Continuiamo.

    1) se usi il basic, sempre e comunque metti l'istruzione
    Option Strict On



    2) se ti piace sperimentare, forse vorrai provare codice basic e c#. Allora, nella directory App_Code, mettici due directory, una chiamata cs, e l'altra chiamata vb. Poi vai nel web.config e aggiungi:
    codice:
    		<compilation debug="true" strict="true" explicit="true">
    			<codeSubDirectories>
    				<add directoryName="vb"/>
    				<add directoryName="cs"/>
    			</codeSubDirectories>
    Nella directory vb, chiaramente metti codice basic, nella directory cs, metti codice cs.

    QUESTO NEL CASO DOVESSI UTILIZZARE CODICE COMUNE AL PROGETTO CORRENTE.




    Se volessi utilizzare codice comune a più progetti (pensa per esempio a codice per ridimensionare immagini o quello che ti pare), l'aproccio è diverso.

    Con Visual Studio ti crei un nuovo progetto di libreria di classi. Lì ci scrivi il tuo codice. Lo compili. Dopo di che, la dll ottenuta la metti dentro la directory bin del tuo progetto e la referenzi. Da questo momento in poi il tuo progetto potrà usare quella libreria.


    Se volessi invece che le tue pagine contengano un componente comune (ad esempio un menu) devi scriverti un User Control... etc. etc. Come vedi ce tanto da usare e tanto da imparare.
    Pietro

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 © 2026 vBulletin Solutions, Inc. All rights reserved.