Avatar billede emkay Nybegynder
11. maj 2007 - 12:02 Der er 8 kommentarer og
1 løsning

Type 'ASP.masterside_master' is not defined ?

Hey.

Jeg får nedenstående fejl i Visual Web Developer:

Type 'ASP.masterside_master' is not defined.

Linjen, der efter sigende skulle være fejl på er
<%@ Page Language="VB" MasterPageFile="~/MasterSide.master" AutoEventWireup="false" CodeFile="tilmelding.aspx.vb" Inherits="tilmelding" %>

Lige nedenunder har jeg

<%@ MasterType VirtualPath="~/MasterSide.master" %>

og fejlen opstår kun når jeg indsætter denne linje. Den er dog ikke lige til at fjerne, da jeg skal tilgå nogle funktioner fra Masterpagen på nogle af content-siderne.

På forhånd tak for hjælpen :)
Avatar billede dr_chaos Nybegynder
11. maj 2007 - 12:14 #1
hvordan ser dit masterpage direktiv ud.
og din codebehind til masterpagen ?
Avatar billede emkay Nybegynder
11. maj 2007 - 12:25 #2
masterpage direktiv..? :S

Skal måske sige at jeg er lidt noob til .NET :oP

Men min code-behind til masterpagen ser sådan her ud:




Partial Class Masterpages_MasterPage
    Inherits System.Web.UI.MasterPage

    Dim strTransport As String = "Værdi1,Værdi2"
    Dim arrTransport As Array = Split(strTransport, ",")

    Dim strDeltagelse As String = "Værdi1,Værdi2,Værdi3"
    Dim arrDeltagelse As Array = Split(strTransport, ",")


    Public Property MarrTransport() As Array
        Get
            Return arrTransport
        End Get
        Set(ByVal value As Array)
            arrTransport = value
        End Set
    End Property

    Public Property MarrDeltagelse() As Array
        Get
            Return arrDeltagelse
        End Get
        Set(ByVal value As Array)
            arrDeltagelse = value
        End Set
    End Property

End Class
Avatar billede dr_chaos Nybegynder
11. maj 2007 - 13:13 #3
masterpage direktiv findes på .master siden.
Prøv at paste den.
Hvad bruges de der properties til ?
Det ser ud som de ville passe bedre i en klasse.
Avatar billede emkay Nybegynder
11. maj 2007 - 16:20 #4
Jamen du får da lige hele master-siden så:


<%@ Master Language="VB" CodeFile="MasterSide.master.vb" Inherits="Masterpages_MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>EMM event</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        </asp:contentplaceholder>
    </div>
    </form>
</body>
</html>




Properties'ne er fordi jeg skal have adgang til de to pågældende arrays på flere forskellige sider. Jeg undersøgte først om det var muligt at lægge dem ind i en klasse, men jeg kunne ikke lige få det til at spille, så da jeg faldt over den her løsning med at definere dem på master-siden og så bruge dem der fra og jeg kunne få det til at virke, så brugte jeg det.

Men hvis du kan fortælle hvordan jeg lægger nogle simple arrays og strings ind i en klasse og så kan hente dem ind på forskellige sider, så vil det jo være endnu bedre :oP

Noget, jeg forresten glemte at fortælle er, at jeg sagtens kan køre siden selvom jeg får den omtalte fejl. Det er kun i VWD, den melder fejl.
Avatar billede dr_chaos Nybegynder
12. maj 2007 - 08:03 #5
Prøv at fjerne det der master type.
Prøv at lave en
Masterpages_MasterPage mm = Page.Master as Masterpages_MasterPage
mm.MarrDeltagelse
Avatar billede emkay Nybegynder
23. maj 2007 - 09:33 #6
Hmm.. Det virker ikke rigtigt.
Men jeg har på fornemmelsen at det ikke er den rigtige måde at gøre det på.

Er der ikke en smartere måde at inkludere nogle globale variabler/arrays på flere sider?
I gammel ASP var det jo bare at lægge dem i en fil for sig og så lave en #include file="filnavn.asp" og så var den skid slået. Det må da være muligt at gøre lige så nemt i .NET?
Avatar billede neoman Novice
23. maj 2007 - 11:28 #7
Det var faktisk næsten rigtigt nok. I øvrigt, nogle gange skal man IKKE tage sig af, at den melder fejl, men trykke på Start Debugging alligevel, og så forsvinder fejlen.

Prøv at beholde det page directiv :
<%@ MasterType VirtualPath="~/MasterSide.master" %>

og på den underside som referer til masteren burde du kunne sige, f.eks.:

Master.MarrTransport

sådan virker det hos mig i hvertfald.
Avatar billede emkay Nybegynder
23. maj 2007 - 13:58 #8
Fandt ud af det via klasser i stedet i dette spørgsmål:
http://www.eksperten.dk/spm/779725
Avatar billede dr_chaos Nybegynder
23. maj 2007 - 15:55 #9
hehe :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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