Du har lagt funktionen MakeRubrik inom Page_Load. Separera de två så ska det gå bättre.
Gör om:
Sub Page_Load()
Public Function MakeRubrik()
End Function
End Sub
Till:
Sub Page_Load()
End Sub
Public Function MakeRubrik()
End Function
9 svar · 350 visningar · startad av tobie
Hej hej. nu är jag här igen, med ännu fler frågor.
Nu när mitt pagesystem fungerar, så tänkte jag göra som jag gjorde i PHP. Nämligen att jag med hjälp utav en egen funktion "översätter" det som finns i "?pageId=".
Min kod:
<script language="VB" runat="server">
Sub Page_Load()
Public Function MakeRubrik(ByVal strText as string) as string
strText.Replace("main","startsidan")
strText.Replace("info","information")
strText.Replace("spel","onlinespel")
strText.Replace("lenk","länkarkiv")
strText.Replace("gestbok","gästbok")
return strText
End Function
MakeRubik.text = MakeRubik(Request.Querystring("pageId"))
End Sub
</script>
och för att kalla på översättningen:
<asp:Label id="MakeRubik" runat="server" />
men!
error:
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30289: Statement cannot appear within a method body. End of method assumed.
Source Error:
Line 2: <script language="VB" runat="server">
Line 3: Sub Page_Load()
Line 4: Public Function MakeRubrik(ByVal strText as string) as string
Line 5: strText.Replace("main","startsidan")
Line 6: strText.Replace("info","information")
vad kan detta bero på?
Du har lagt funktionen MakeRubrik inom Page_Load. Separera de två så ska det gå bättre.
Gör om:
Sub Page_Load()
Public Function MakeRubrik()
End Function
End Sub
Till:
Sub Page_Load()
End Sub
Public Function MakeRubrik()
End Function
Använd IsPostBack så att MakeRubik metoden endast körs en gång.
<script language="VB" runat="server">
Sub Page_Load()
If Not IsPostBack Then
MakeRubik.text = MakeRubik(Request.Querystring("pageId"))
End If
End Sub
</script>
snabba fina svar! :)
men.:(
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30451: Name 'strWriteRubrik' is not declared.
Source Error:
Line 11: Sub Page_Load()
Line 12: If Not IsPostBack Then
Line 13: strWriteRubrik.text = MakeRubik(Request.Querystring("pageId"))
Line 14: End If
Line 15: End Sub
strWriteRubrik finns inte.
jag la till dim strWriteRubrik ovanför strWriteRubik.text = ...
men får då istället:
Name 'MakeRubik' is not declared.
men jag gör ju den till en funktion precis ovanför?
Public Function MakeRubrik(ByVal strText as string) as string
strText.Replace("main","startsidan")
strText.Replace("info","information")
strText.Replace("spel","onlinespel")
strText.Replace("lenk","länkarkiv")
strText.Replace("gestbok","gästbok")
return strText
End Function
Du har glömt ett 'r' i makerubrik
Function MakeRubrik(ByVal strText as string) as string
strText = Replace(strText, "main", "startsidan")
strText = Replace(strText, "info","information")
strText = Replace(strText, "spel","onlinespel")
strText = Replace(strText, "lenk","länkarkiv")
strText = Replace(strText, "gestbok","gästbok")
return strText
End Function
blev korrekt lösning
Du kan även skriva:
return strText.replace("main", "startsidan").replace("info","information").replace("spel","onlinespel")
..etc, om du vill förkorta koden lite.
Eller använda dig av StringBuilder klassen om du vill spara lite prestandard.