webForumDet fria alternativet

[C# .NET 2.0] Function som returnerar en string...

6 svar · 521 visningar · startad av T_Codez

T_CodezMedlem sedan juli 2001458 inlägg
#1

Som sagt tidigare...

- Lite ny på det här området...

Jag har följande kod som ska returnera stringen som lagts i variabeln 2 ggr.

public string Tryout()
{
    string returnString = "<td width="+"35"+"><wipcore:SystemTextImage Width="+"16"+"ID="+"SystemTextImage2"+" runat="+"server"+" ImageUrl="+"../Images/grafik/pixel.gif"+" /></td>";

    for (int i = 0; i < 2; i++)
    {
        return returnString;
    }

Som det är nu får jag inte ut någonting... Vad gör jag för fel?

anropet i html-delen ser ut så här:

<%Tryout(); %>

Tack för uppmärksamheten

mvh / TT

voigtann1Medlem sedan juni 20019 519 inlägg
#2

din sträng ovan känns verkligen overkill...

...<td width="+"35"+">...

Varför gör du så?

<td width=\"35\">..

betydligt bättre ;)

Ska du endast lägga 2 bilder så undvik gärna runat="Server" om du nu inte skall påverka dom. det Cachas i onödan(även om den nu skulle "ta död" på sig själv). Du kan ju helt enkelt bara skriva:

    string returnString = "<td width=\"35\"><img src=\"../Images/grafik/pixel.gif\" alt="" //><//td>";

(kan också vara så du måste använda \/ till / och kanske inte behöver skriva // på /).

Eftersom du har en funktion så måste du ha

"response.write <funktionsnamn>" (rekomenderas inte dock). Eller lägg in en "litheral" i ditt projekt och har på onload o body:
literal_namn.value (text kanske) = <funktionsnamn>;

T_CodezMedlem sedan juli 2001458 inlägg
#3

There is so much to learn... :-)

Får nu följande felmess:

Compiler Error Message: CS0161: 'StartPage_topItems.Tryout()': not all code paths return a value

voigtann1Medlem sedan juni 20019 519 inlägg
#4

ta bort den kod rad ;)... fast du kan inte köra return i en for sats om du vill få ut 2st knappar.. return gör så att du retunera det som är efter return (i ditt fall så kommer den bara göra bilden 1ggr).

    string s;
    for (int i = 0; i < 2; i++)
    {
        s += returnString;
    }
    return s;

kolla raden StartPage_topItems.Tryout()... måste vara något ställe där den har lagt till sig.(Dubbel klicka på felmeddelandet) så kommer du till den kod rad.

emissionMedlem sedan dec. 19996 721 inlägg
#5

Två problem:

Du har "return" inne i en for-loop, vilket innebär att det aldrig blir mer än 1 (0) loopvarv. Return returnerar resultatet från funktionen direkt.

Du har ingen return utanför for-loopen, vilket innebär att om inga loopvarv körs så kommer inget att returneras. Det är detta som kompilatorn klagar på.

voigtann1Medlem sedan juni 20019 519 inlägg
#6

... det emisson skrev :P

T_CodezMedlem sedan juli 2001458 inlägg
#7

ok... Tackar och bockar min panna blodig av tacksamhet för lektionen... :birp

"I'll dig in" och förhoppningsvis så slutar det med ett "Accepterat Svar" :bire

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)