Problema urgente: stampa di variabile all'interno della pagina

giovedì 12 giugno 2008 - 15.32

AndreaBelmonte Profilo | Newbie

Ciao a tutti,
ho un problema che dovrei risolvere urgentemente riguardo la stampa di una variabile all'interno di una pagina aspx.

In poche parole, la mia pagina aspx include un file che valorizza una variabile (string Stringa): questa variabile viene valorizzata completamente, e la stampa del relativo valore funziona correttamente nella fino a che non si arriva al tag <form>.

Se provo a stampare la variabile all'interno del tag <form> (mi serve proprio dentro, purtroppo), il sistema mi dice che la variabile non esiste nel contesto corrente.

Nel file di inclusione la stringa viene così instanziata.

string Stringa = "";

e valorizzata correttamente... (string Stringa = "valore");

Provo a stamparla, come solitamente faccio, così: <%=Stringa%>

Help me please!!!

Andrea Belmonte
www.andreabelmonte.com

Wamba Profilo | Expert

dichiarala come
public string MiaStringa.
Se non specificato un attributo è privato e quindi non visibile nella parte "HTML" della pagina.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

AndreaBelmonte Profilo | Newbie

Ciao e grazie per la risposta,
a dire il vero mi sembrava di averlo provato, ma che mi tornasse comunque un errore... farò una prova e nel caso ti dico!

Grazie,
Andrea

Andrea Belmonte
www.andreabelmonte.com

AndreaBelmonte Profilo | Newbie

Ciao,
ho riprovato, ma gli errori rimangono.

Visto che sono stato poco chiaro prima, il "giro" delle pagine è il seguente:

pagina pippo.aspx, che contiene, in testa, l'include di variabili.aspx.

Questa pagina di inclusione dichiara:

public string Stringa;

e la valorizza: Stringa = "prova";

A questo punto, dentro pippo.aspx, all'interno dei tag <form>, vado a stampare - o meglio cercare di stampare - il valore di Stringa, <%=Stringa%>, ma mi dice che l'uso della variabile non è possibile in questo contesto...

Soluzioni???
Andrea Belmonte
www.andreabelmonte.com

Wamba Profilo | Expert

Ahia,
Immagino che tu venga direttamente dall'asp.
Non si può usare un include delle variabili nella programmazione a classi su cui si base l'aspx.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

AndreaBelmonte Profilo | Newbie

Che fortuna... cmq si, "nasco" Asp classic e mi sto convertendo a .Net...

Grazie comunque...




Andrea Belmonte
www.andreabelmonte.com

Wamba Profilo | Expert

Aspetta non è così tragica .
Se stai migrando una pagina/sito web e non vuoi impazzire un trucco c'è:
1) Crei la cartella App_Code sul tuo sito: è una cartella speciale per chi non lo sapesse.
2) Crei una classe (C# o VB non fa differenza) che si chiama paginaBase o come preferisci che erediti da Page in c# viene così
public abstract class BasePage : Page {}
3) Dentro la calsse dichiare property, motodi e, anche se non è proprio ortodosso, metodi comuni a tutte le pagine.
4) Crei la tua pagina miaPagina.aspx che anzichè ereditare da Page erediterà da BasePage.
Il gioco è fatto!
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

AndreaBelmonte Profilo | Newbie

Arigrazie, proverò...

In ogni caso, per il mio problemino più urgente, ho trovato una valida alternativa che penso possa essere utile anche ad altri:

La mia pagina "Pagina.aspx" include un file "Inclusione.aspx", che valorizza una serie di variabili

(string Stringa = "Contenuto Stringa");

In Pagina.aspx, non faccio altro che inserire all'interno del form delle label (<asp:label id="Etichetta1" runat="server">), che valorizzo a inizio di pagina.aspx (al di fuori del tag form, cioè) con quanto mi arriva da Inclusione.aspx.

Il codice è il seguente:

Pagina.aspx:

<%@ Page language="c#" Codebehind="Pagina.aspx.cs" AutoEventWireup="false" Inherits="ticket.Pagina" %>
<!--#include file="Inclusione.aspx"-->
<%
Etichetta1.Text = Stringa1;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<html>
<head>
<title>Pagina</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body MS_POSITIONING="GridLayout">

<form id="Form1" method="post" runat="server">
<asp:Label ID="Etichetta1" Runat="server"></asp:Label>
</form>

</body>
</html>

Inclusione.aspx:

<%@ import Namespace="System.Web" %>
<%@ import Namespace="System.Web.SessionState" %>
<%@ import Namespace="System.Web.UI" %>
<%@ import Namespace="System.Web.UI.WebControls" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Collections" %>
<%@ import Namespace="System.ComponentModel" %>
<%@ import Namespace="System.Data" %>
<%

string Stringa1;
Stringa1 = "Contenuto della stringa";
%>

Spero possa tornare utile...



Andrea Belmonte
www.andreabelmonte.com

Wamba Profilo | Expert

Prego fammi sapere com'è andata
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5