[ASP.NET] Output Variable

Pagina: 1
Acties:

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Beste Mensen,

Ik zit hier met een probleem waar ik geen oplossing voor kan vinden.

Ik werk met Visual Studio .NET 2003, ik heb dus twee bestanden een .aspx en een .aspx.vb, in aspx.vb heb ik een variable "html" (string). en deze zou ik graag ergens willen weergeven in het normale aspx bestand (ergens in de HTML), ik heb het geprobeerd via een label maar dit is niet echt de oplossing die ik zoek.

Weet iemand hier de oplossing voor?

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
code:
1
2
3
Sub Page_Load(sender As Object, e As EventArgs)
  Response.Write(html)
End Sub


:?

volgens mij is het idee van code behind dat je het juist niet in je aspx pagina hoeft te doen hoor.
en met een label kan het ook gewoon.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Met een label kan het idd gewoon, maar als ik daar een hele lap tekst in zet dan gaat deze niet naar de volgende regel als ie aan het einde van het scherm komt.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 30-04 15:47

mulder

ik spuug op het trottoir

<%=html%>

[ Voor 100% gewijzigd door mulder op 30-08-2005 16:06 ]

oogjes open, snaveltjes dicht


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Dat d8 ik ook als eerste maar dat werkt dus niet, wss omdat die code in de codebehind staat :'(

[ Voor 3% gewijzigd door renekosterman op 30-08-2005 16:09 ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 30-04 15:47

mulder

ik spuug op het trottoir

euuh stom ja, dat klopt ook ja, je zou er property van kunnen maken.

oogjes open, snaveltjes dicht


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Don Facundo schreef op dinsdag 30 augustus 2005 @ 16:11:
euuh stom ja, dat klopt ook ja, je zou er property van kunnen maken.
heb je een voorbeeldje voor me?

Verwijderd

In je code behind:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class MijnPagina : System.Web.UI.Page
{
    // meuk

    private string html;

    public string DeHTML
    {
        get
        {
             return html;
        }
    }

    // andere meuk
}

en dan ergens in je .aspx:
C#:
1
<%=DeHTML%>

Makkelijker is om je variabele publiek te maken, maar dat is ranzig. Een read-only property is netter. Dit is overigens wel heel basic, dus kijk nog maar eens in de boeken of op Google voordat je hier vraagt.

Wel vraag ik me af waarom je dit wil doen, want als een label niet voldoet verwacht ik dat je iets vies aan het doen ben, zoals een stuk javascript zo in je pagina proppen bijvoorbeeld.

Verwijderd

Verder is <%# wat netter dan <%= :)

  • Serpie
  • Registratie: Maart 2005
  • Laatst online: 05-02 21:24
Volgens mij zoek je het Literal control, die zet geen tags erom heen zoals het label control.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet zorgen dat je html variabele protected of public is. Je aspx erft namelijk van je codebehind en kan dan niet meer bij private vars. Je moet natuurlijk ook zorgen dat hij in de goed scope zit

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

downtime schreef op dinsdag 30 augustus 2005 @ 16:00:
Met een label kan het idd gewoon, maar als ik daar een hele lap tekst in zet dan gaat deze niet naar de volgende regel als ie aan het einde van het scherm komt.
Dat moet wel kunnen. Desnoods in de .aspx de 'height', 'width' ofzo wissen. Eventueel wordwrap ofzo instellen. (Kan het hier zo ff niet testen of die bestaat.)
Serpie schreef op dinsdag 30 augustus 2005 @ 17:01:
Volgens mij zoek je het Literal control, die zet geen tags erom heen zoals het label control.
Literal Class

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Bedankt mensen :) ik heb nu boven mijn page_load het volgende staan: Public html As String, dit helpt echter nog niet, hij geeft nu geen foutmelding meer maar er verschijnt nog niks.

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Ok, als ik nou de volgende code gebruik dan komt er gewoon netjes "Hoi" in mijn pagina te staan:

code:
1
Public html As String = "hoi"


Nu ziet mijn page_load er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim Mydb As New DBFunctions
            Dim MyConn As New SqlConnection
            Dim html, header, title, text As String
            Dim dtrvar As SqlDataReader

            Dim Variable As String

            Dim sqlstring As String = "SELECT dbo.TBL_Value.VarValue, dbo.TBL_Variable.Name " & _
                                        "FROM dbo.TBL_Value INNER JOIN " & _
                                        "dbo.TBL_Variable ON dbo.TBL_Value.VariableId = dbo.TBL_Variable.Id " & _
                                        "WHERE(dbo.TBL_Value.ItemId =" & MyItemid & ")"

            dtrvar = Mydb.GetDr(MyConn, sqlstring)

            While dtrvar.Read()
                If dtrvar("name") = "Header" Then
                    header = "<i>" & dtrvar("VarValue") & "</i>"
                End If
                If dtrvar("name") = "Title" Then
                    title = "<h3>" & dtrvar("VarValue") & "</h3>"
                End If
                If dtrvar("name") = "Text" Then
                    text = "<br/><br/>" & dtrvar("VarValue")
                End If
            End While

            html = title & header & text

            dtrvar.Close()


Hoe zorg ik er nu voor dat de "Public html" gewijzigd word door degene in de page_load?

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Heb je ooit wel eens van het principe scope van een variabele gehoord? En 'hiding' van variabelen? En globale en lokale variabelen? Ik klink misschien wat cynisch, maar dit zijn basis programmeerprincipes. Als je die onder de knie krijgt, dan zul je minder problemen hebben tijdens het programmeren.

De oplossing is de Dim statement van html uit je Page_Load functie te halen, op deze manier zal regel 27 in je huidige code de globale variabele gaan vervangen, in plaats van de lokale variabele die je nu gebruikt.

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Ik ben gewent om te progammeren in php, op mijn stage hier maken ze gebruik van asp.net dus dat is voor mij wel even wennen.

bedankt iig.
Pagina: 1