Avatar billede steen Nybegynder
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å?
Avatar billede 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
Avatar billede steen Nybegynder
28. juni 2005 - 21:16 #2
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?
Avatar billede burningice Nybegynder
28. juni 2005 - 21:18 #3
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 %>' />
Avatar billede 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 :)
Avatar billede steen Nybegynder
28. juni 2005 - 21:22 #5
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
Avatar billede 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
Avatar billede steen Nybegynder
28. juni 2005 - 21:28 #7
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)
Avatar billede 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..
Avatar billede davidfossil Nybegynder
04. juli 2005 - 17:53 #9
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>
Avatar billede davidfossil Nybegynder
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>
Avatar billede steen Nybegynder
08. juli 2005 - 08:39 #11
Paddington førte mig videre, kom med et svar.
Avatar billede Slettet bruger
08. juli 2005 - 13:51 #12
Håber du fik løst problemet .. .net er jo lidt anderledes end .old .. :)
Avatar billede steen Nybegynder
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.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester