Avatar billede crunch Nybegynder
02. maj 2003 - 19:14 Der er 6 kommentarer

page behind, hent klasse - fejl??

Hej,

Jeg har en aspx fil (default.aspx) der henter en vb fil (page behind) med:

<%@ Page Language="vb" AutoEventWireup="true" Codebehind="Cls_pub/default.vb" Inherits="projekt.pubHandle"%>


Min bagvedliggende side har følgende kode:

Imports System
Imports projekt.clsAdm

Public Class AdmHandle
    Inherits Adm
    Sub Page_Load()
'kode der reagerer på forskellige events
End Sub
End Class


Og den henter følgende klasse:


Imports System
Imports System.Data
Imports System.Data.OleDb
Imports projekt.clsPub

Namespace clsAdm
    Public Class Adm
        Inherits System.Web.UI.Page
            ' en masse funktioner
  End Class
End Namespace


Men når jeg prøver at åbne default.aspx får jeg i visual studio en alertbox med teksten

"The form failed to load in the webform designer. Please correct the following error: An exeption occured while trying to create an instance of projekt.clsPub.pub, the exeption was "Object not set to an instance of an object"

Hvad gør jeg galt???
Avatar billede burningice Nybegynder
02. maj 2003 - 19:32 #1
hvor i din kode opretter du en instans af projekt.clsPub.pub, og kunne man evt. kunne se den kode der gjorde det? :)
Avatar billede disco_keld Nybegynder
02. maj 2003 - 19:32 #2
du har smidt din Adm class i et namespace, men ikke din AdmHandle

Hvorfor ikke?

Mvh

DK
Avatar billede crunch Nybegynder
02. maj 2003 - 20:01 #3
ups. havde vist skrevet lidt forkert. Min kode er som:
(som i kan se anvender jeg ikke funktionerne, men skal sådan set bare have dem til rådighed når de skal bruges..


page behind:


Imports System
Imports Projekt.clsPub

Public Class pubHandle
    Inherits clsPub.Pub
    Sub Page_Load()
        '********************************************************************
        ' APLIKATIONSTILSTAND SÆTTES: Find aktive side
        '********************************************************************
        If Request("Page") <> "" Then Session("Page") = Request("Page")
        Response.Write(Session("Page"))
        If Session("admState") = "" Then Session("admState") = 3
        Session("admState") = Request.QueryString("admState")
    End Sub
End Class



Klassefil:

mports System
Imports System.Data
Imports System.Data.OleDb

Namespace clsPub
    Public Class Pub
        Inherits System.Web.UI.Page

        Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/db.mdb") & ";"

        '********************************************************************
        'HENT SIDE
        '********************************************************************
        Public Function SELECTtblPageContentDynamic(ByVal id)
            Dim objConn As New OleDbConnection(strConn)
                Dim strSQL As String = "SELECT strHtml FROM tblPageContentDynamic WHERE id=" + id + ";"
                Dim objCmd As New OleDbCommand(strSQL, objConn)
                objConn.Open()
                Dim rdr As String = objCmd.ExecuteScalar()
                SELECTtblPageContentDynamic = rdr
                objConn.Close()
                End Function
    End Class
End Namespace
Avatar billede burningice Nybegynder
04. maj 2003 - 22:54 #4
weird... ifølge VS så har den problemet med at oprette en instans af din Pub-klasse. Hvorfor kan jeg dog ikke lige gennemskue.
Prøv evt. at tilføj en contructor, kan være det er det som laver knuder i maskineriet.
Avatar billede crunch Nybegynder
06. maj 2003 - 21:40 #5
Hmm. Har desværre ikke rigtigt arbejdet med Constructors før (kommer fra klassisk asp). gider du give mig et hint til hvordan man gør med ovenstående?
Avatar billede burningice Nybegynder
12. maj 2003 - 01:49 #6
du opretter bare en sub der hedder New (i c# skal den bare hedde det samme som klassen).
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
Kategori
Kurser inden for grundlæggende programmering

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