Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Variabili globali
martedì 12 aprile 2005 - 11.43
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mar 12 apr 2005 - 11:43
ciao a tutti, premesso che sto costruendo le mie prime pagine apsx, vi espongo il problema.
In locale avevo costruito alcune pagine aspx che fanno riferimento ad un file "db_lib.vb", per le variabili generali e per le procedure sul databse, ed ad un file "menù1.ascx", per l'impostazione della pagina. Tutto funziona bene ma quando esporto le pagine sul web non mi riconosce le variabili e non mi imposta la pagine. Cosa posso fare?
grazie a tutti.
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mar 12 apr 2005 - 16:47
Si Coach, ho fatto l'uoload della cartella bin e continua a darmi l'errore: "BC30451: Name 'strSel' is not declared". Poi una curiosità, all'interno della cartella CGI-BIN del sito ho creato una cartella "prova" al cui interno ho copiato tutte la pagine aspx e la cartella BIN. E' corretto?
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mar 12 apr 2005 - 17:42
praticamente, se ho capito bene, le pagine con estensione aspx le posso inserire in una directory (da me creata) all'interno della radice principale, mentre la pagine con estensione aspx.vb e aspx.rsx le inserisco all'interno della cartella cgi-bin. Giusto?
Comunque ho risolto il problema dei fogli di stile ma continua il secondo problema.
Grazie ancora per l'aiuto.
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mar 12 apr 2005 - 18:23
OK Coach, nella root ho creato una directory e ho copiato tutte le pagine ma continua a non leggere le variabili dichiarate in md_lib.vb.
All'inizio delle pagine aspx ho inserito queste dichiarazioni:
<%@ Page Language="vb" Inherits="registro.anno" Src="anno.aspx.vb" EnableSessionState="true" smartNavigation="true" %>
<%@ Register TagPrefix="Menu1" TagName="Sfondo" src="menu1.ascx"%>
Ho tralasciato qualcosa?
Grazie ancora per l'aiuto.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 12 apr 2005 - 23:04
Ma stai lavorando con Visual Studio oppure con il notepad ?
ciao
david
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mer 13 apr 2005 - 09:02
con Visual Studio, perchè?
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mer 13 apr 2005 - 11:21
Chiedo scusa per l'insistenza ma sono un novello e mi sono ormai completamente scervellato.
Dunque, facciamo un riassunto della mia situazione. Ho creato le mie pagine aspx con visual studio.net 2003 usando il linguaggio vb.net. Tutte le web form eseguono le varie operazioni richiamando variabili di tipo public, funzioni e sub scritte in un modulo chiamato "db_lib.vb". Ho testato il tutto in locale sul mio computer e funziona. Tramite il programma Filezilla ho trasportato le mie pagine aspx, il modulo .vb e la cartella bin sul server in una cartella, da me creata, sul root principale. Se richiamo dal web una pagina qualsiasi mi da errore xkè non riconosce una delle tante variabili public dichiarate nel modulo. Ora la mia domanda è la seguente: le pagine aspx hanno un comportamento diverso se girano in locale o in rete? Se la risposta è no, cosa sbaglio?
Grazie per gli aiuti.
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mer 13 apr 2005 - 11:37
come ho scritto sotto, Coach: errore BC30451, variabile is not declered.
zuperbatman
Profilo
| Newbie
31
messaggi | Data Invio:
mer 13 apr 2005 - 12:56
Comunque io ti consiglio di usare delle variabili di sessione tipo Session("Utente")......in quanto con il metodo da te usato se un secondo utente si collega al sito contemporaneamente rischia di riscrivere le variabili con valori diversi facendo un po di casino.......! Le variabili dichiarate in un modulo di devi usare solo per impostazioni di sistema, inoltre per farli funzionare su un'altro pc usa il setup di Visual Studio inserento tutti gli output di progetto ed gli eventuali moduli unione...! vedrai che dopo aver fatto l'installazione funziona tutto.
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mer 13 apr 2005 - 16:46
allora, vediamo un pò. Ho operato in questa maniera:
ho creato un modulo "db_lib.vb"
Module db_lib
public Conn AS SqlConnection
public strConn AS String
public DA AS SqlDataAdapter
public DT AS DataTable
public strSel AS String
...
Public Function ConnOpen()
...
Conn.ConnectionString = strConn
Conn.Open
...
End Function
Public Function InsertDato()
...
End Module
Poi ho creato la mia pagina "Anno.aspx.vb" (uguale ad altre 13 pagine)
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class anno
Private Sub Page_Load(...) Handles MyBase.Load
If Not IsPostBack Then
Call RiempiDataGrid()
End If
End Sub
Function varDesc()
strSel = "SELECT * FROM anno ORDER BY anno"
strTab = "anno"
strKey = "idanno"
strCamp1 = "anno"
strForm = "anno.aspx"
strField1 = txt1.Text
DTnome = "DTanno"
End Function
Function RiempiDataGrid()
Call varDesc()
DS = New DataSet
DA = New SqlDataAdapter(strSel, Conn)
DT = New DataTable
Call ConnOpen()
DA.Fill(DS, DTnome)
Call ConnClose()
connSql.Close()
DT = DS.Tables(DTnome)
DG1.DataSource = DS.Tables(DTnome)
DG1.DataKeyField = strKey
DG1.DataBind()
End Function
...
End Class
Nella pagina "Anno.aspx" invece ho inserito
<%@ Page Language="vb" Inherits="registro.anno"
Codebehind="anno.aspx.vb" EnableSessionState="true"
smartNavigation="true" AutoEventWireup="false" %>
<%@ Register TagPrefix="Menu1" TagName="Sfondo" src="menu1.ascx"%>
<Html>
...
<Head>
...
</head>
<body>
<menu1:sfondo id="ctlSfondo" Runat="Server"></menu1:sfondo>
<Form>
...
</Form>
</body>
</html>
Ho progettato le pagine in questa maniera perchè ne sono 13 uguali in cui cambia solo la base dati, quindi variando solo il valore delle variabile nella function VarDesc, tutto il resto è un copia ed incolla. Sicuramente la forma non è il massimo ma per un novellino come va piuttosto bene.
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
mer 13 apr 2005 - 18:02
grazie Coach, ho cambiato il modulo con una classe ma il risultato non cambia. Se la storia continua così saro costretto a copiare i dati in tutte le pagine. Che stress...
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
gio 14 apr 2005 - 13:02
Ciao Coach, non vorrei abusare della tua sapienza ma provo lo stesso a farti una domanda.
Sai sto, con la santa pazienza, inserendo tutti i processi nelle singole pagine ma mi sta capitando una cosa strana:
se dichiaro una variabile (es una di tipo sqlconnection) prima di Private Sub Page_Load non me la usare nel corso della vita della pagina e, in più, non mi fa passare più le variabile da un sub ad un'altro della stessa pagina. In locale funziona tutto però.
Grazie 1000
wolf
Profilo
| Junior Member
60
messaggi | Data Invio:
gio 14 apr 2005 - 18:47
Dico così perchè ho creato le pagine aspx con vs.net 2003 (compreso di solo vb.net xò) e pigiando F5 le pagine si avviano sul server locale (o almeno così credo).
Ora ho un'altro problema: la pagina contiene
- una textbox1, controllata da una RequiredFieldValidator e da una RegularExpressionValidator)
- un datagrid con una colonna di tipo template che in modalità normale contiene una label e in modalità modifica contiene una textbox2 + RequiredFieldValidator + RegularExpressionValidator.
Ora se in modalita modifica voglia aggiornare un valore della colonna templete devo inserire un obbligatoriamente un carattere nella textbox1 altrimenti non si avvia la procedura.
ti scrivo parte del codice:
<asp:textbox id="txt1" style="Z-INDEX: 103; LEFT: 208px; POSITION: absolute; TOP: 184px" runat="server" Width="312px" MaxLength="4" EnableViewState="False" mns="4" />
<asp:requiredfieldvalidator id="RFV1" style="Z-INDEX: 108; LEFT: 436px; POSITION: absolute; TOP: 208px" runat="server" ErrorMessage="inserisci dato" controlToValidate="txt1" />
<asp:regularexpressionvalidator id="REV1" style="Z-INDEX: 107; LEFT: 356px; POSITION: absolute; TOP: 208px" runat="server" Width="72px" ErrorMessage="dato errato" ControlToValidate="txt1" Display="Dynamic" ValidationExpression="\d{4}" / >
...
<asp:datagrid id="DG1" ...
<Columns>
...
<asp:TemplateColumn HeaderText="Anno">
<ItemTemplate><asp:Label ID="annllbl" Runat="server" Width="100%" Text='<%# container.dataitem("anno") %>' /></ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="annotxt" Runat="server" Width="100%" Text='<%# container.dataitem("anno") %>' />
<br>
<asp:RequiredFieldValidator id="RFV2" runat="server" ErrorMessage="Inserisci il dato" ControlToValidate="annotxt" Font-Size="smaller" />
<br>
<asp:RegularExpressionValidator id="REV2" runat="server" ErrorMessage="Dato errato" ValidationExpression="\d{4}" Display="Dynamic" ControlToValidate="annotxt" Font-Size="smaller" />
</EditItemTemplate>
</asp:TemplateColumn>
Private Sub DG1_Update(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DG1.UpdateCommand
If IsValid then
(funzione per l'updute)
End If
End Sub
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !