webForumDet fria alternativet

Newbie, hantering av klasser

.NET

5 svar · 541 visningar · startad av lolukokasos

Medlem sedan mars 2001196 inlägg
Frågan#1

Jag vill göra en klass som används av många aspx-sidor. Jag tycker jag läst ganska mycket nu men får det sköna felet "BC30002 Type 'calcClass' is not defined", trots att jag tycker jag importerar rätt.

App_Code/calcClass.vb

Imports Microsoft.VisualBasic

Public Class calcClass
    Inherits System.Web.UI.Page
    Public Function testFunc(ByVal str As String) As String

        testFunc = str & " testFunc funkar"
    End Function
End Class

HCshaft.aspx.vb

Imports calcClass

Partial Class HCshaft
    Inherits System.Web.UI.Page
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim stri As calcClass = New calcClass
   
        Response.Write(stri.testFunc("JA"))
    End Sub

Jag får felet (BC30002) på raden Dim stri As calcClass = New calcClass()

Vad gör jag fel? VS 2008 säger inte att något är fel...

Medlem sedan sep. 2004828 inlägg
#2

Om dom ligger i samma projekt ska du inte behöva ha Imports calcClass, utan det ska fungera ändå.

Du har alltså inga problem att göra en Build, men när du surfar till sidan får du fel? Det verkar isåfall som att du har någon cache kvar av en äldre build.

Medlem sedan mars 2001196 inlägg
#3

Skapas det inte build när man går in på sidan första gången utan att man skapar den i VS?

Jag har kommenterat bort det som går fel och ersatt med annat och när jag använder shift+F5 så uppdateras det nya som gjorts så jag tycker inte att det borde vara det, har även testat från en "ny dator" som inte varit på sidan innan.

Det är inget på webservern som ska justeras eller uppdateras?

Medlem sedan sep. 2004828 inlägg
#4

Är det när du trycker shift+F5 du får problem?

Det kompileras första gången någon besöker sidan. Ibland händer det dock att ändringar inte kompileras om. Jag har aldrig råkat ut för det, men jag har läst om andra som har råkat ut för det, även om det verkar vara ovanligt.

Medlem sedan mars 2001196 inlägg
#5

Detta var skumt. När jag kör debug (F5 från VS) så funkar det. Men när jag skriver adressen till .aspx-filen så slår det bakut med hänvisning till BC30002. När jag skapade klassen så fick jag frågan om det skulle läggas i App_Code mapp och det sa jag ja till.
Ska man göra något på webservern?

Medlem sedan mars 2001196 inlägg
#6

Man högerklickar på mappen i IIS-manager/properties och väljer "Create" på första fliken.

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)