28. juni 2005 - 21:07
Der er
12 kommentarer og 1 løsning
Genbruge asp:literal id=strDomain runat=server
Jeg har en variabel, sat i pageload: string strDomain = "Hurlumhaj"; Senere vil jeg skrive den ud: <asp:literal id="strDomain" runat="server" /> Men så vil jeg gerne benytte den flere steder endnu, og det melder den jo fejl på, fordi "den er allerede benyttet once" Hvordan gør man så?
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
Slettet bruger
28. juni 2005 - 21:12
#1
Når du skal angive hvilken tekst din "literal" skal hente kan du gøre det med: literalid.text = strStringname literalid2.text = strStringname 'samme string i dit tilfælde: strDomain.text = strDomain 'Forresten er "str" prefix'et et lidt specielt val til en literal.. //Daniel
ok... Oprindeligt benyttede jeg også en label. Menhvad nu når jeg skal bruge denne variabel måske 12 gange. Er der ikke andre løsninger? Kan man ikke bare sætte en variabel, og så udskrive den lige så tosset man vil, uden det skal være unikke labels hvergang?
desværre... dine kontroller skal have unikke id'er. men hvorfor skriver du ikke bare <asp:literal id="strDomain" runat="server" Text='<%# strDomain %>' /> <asp:literal id="strDomain2" runat="server" Text='<%# strDomain %>' /> <asp:literal id="strDomain3" runat="server" Text='<%# strDomain %>' />
Slettet bruger
28. juni 2005 - 21:22
#4
Når du gennerer din side i koden, kan du når som helst indsætte din variable.. I asp.old kunne man jo skrive <% =Variable %> men sådan foregår det ikke helt i asp.net , da siden mere bliver lavet inde selve siden skrives.. Har ikke så meget erfarring endnu, så hvis du vil have en bedre forklaring , må du spørge nogle med mere erfarring på området :)
Det var også det jeg troede jeg kunne, men jeg blev ved med at få fejlen: The name 'strDomain' does not exist in the class or namespace 'ASP.bestilling_new_aspx' på trods af at jeg havde sat variablen i pageload
Slettet bruger
28. juni 2005 - 21:25
#6
Hvis du skal tilgå en variable skal den laves uden for en sub eller en funktion.. sub page_load ... end sub Public strDomain as String Function etellerandet() End function
Og det har jeg også prøvet... <script runat="server"> string strDomain = txtDomain.Text; private void Button1_Click(object sender, System.EventArgs e) { resultat: Compiler Error Message: CS0118: 'ASP.bestilling_new_aspx.txtDomain' denotes a 'field' where a 'class' was expected (hvis du bliver til den bitre ende forhøjer jeg point)
Slettet bruger
28. juni 2005 - 21:35
#8
Jeg ville lave det sådan her: Sub page_load strDomain = txtDomain.text End sub public strDomain as string Din string skal vist tildeles under en event, men derefter skal den public for at du kan hente den under rendering..
Håber at følgende eksempel kan hjælpe dig på vej: <%@ Page Language="C#" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { litOverskrift.Text = "Velkommen"; litTekst.Text = "Noget tekst"; } </script> <html> <body> <h1><asp:Literal ID="litOverskrift" runat="server" /></h1> <p><asp:Literal ID="litTekst" runat="server" /></p> </body> </html>
04. juli 2005 - 18:01
#10
Ohh, nu forstår jeg vist bedre problemet. Undskyld min forrige kommentar :o) Håber at dette kan hjælpe: <%@ Page Language="C#" %> <script runat="server"> string strDomain = "test"; </script> <html> <body> <h1><%=strDomain%></h1> <p><%=strDomain%></p> </body> </html>
08. juli 2005 - 08:39
#11
Paddington førte mig videre, kom med et svar.
Slettet bruger
08. juli 2005 - 13:51
#12
Håber du fik løst problemet .. .net er jo lidt anderledes end .old .. :)
08. juli 2005 - 17:05
#13
Jeg glemte det med at en varible kan erklæres private og public... ;-) så jeg er nu komme viddere.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.