Avatar billede ha9953 Nybegynder
15. marts 2004 - 17:17 Der er 20 kommentarer og
1 løsning

Problemer med usercontrol i usercontrol

Jeg får følgende fejlmeddelse selv om dgbeholder findes på emne.ascx? (de 2 sider kan ses nederst):

Compiler Error Message: BC30456: 'DgBeholder' is not a member of 'ASP.emne_ascx'.

Source Error:



Line 1:  <%@ Control Language="VB" Inherits="UserKoden" Src="emne.ascx.vb" %>
Line 2: 
Line 3:  <%@ register tagprefix="Foto" tagname="Foto" Src="~\media\foto\foto.ascx" %>


Source File: f:\www\edtwodth\www\referencer\emne.ascx    Line: 1


Emne.ascx ser sådan ud

<%@ Control Language="VB" Inherits="UserKoden" Src="emne.ascx.vb" %>

<%@ register tagprefix="Foto" tagname="Foto" Src="~\media\foto\foto.ascx" %>

<table width="100%" cellpadding="5" cellspacing="0">
    <tr>
        <td align="left" valign="top" width="80">
            Dato:       
        </td>
        <td align="left" valign="top">
            <%=dato%>
        </td>
    </tr>
    <tr>
        <td align="left" valign="top">
            Type:       
        </td>
        <td align="left" valign="top">
            <%=kategori%>
        </td>
    </tr>
    <tr>
        <td align="left" valign="top">
            Link:       
        </td>
        <td align="left" valign="top">
            <%=Web%>
        </td>
    </tr>   
</table>

<table width="100%" cellpadding="5" cellspacing="0">
    <tr>
        <td align="left" valign="top">
            <%=Beskrivelse%>       
        </td>
    </tr>
</table>

<asp:datagrid id="DgBeholder" Width="100%" runat="server" ShowFooter="false" ShowHeader="false" AllowPaging="False" CellPadding="0" GridLines="none" AllowSorting="False" AutoGenerateColumns="false">
    <columns>
        <asp:TemplateColumn HeaderStyle-HorizontalAlign="Center" HeaderStyle-VerticalAlign="Top" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top">
            <ItemTemplate>                                                                                                                                                                                                   
                <Foto:Foto Titel="Stort foto" id="Foto1" fotoplacering='<%# Div.Erstatblank(Container.DataItem("kategoriNavn")) & "/" & Div.Erstatblank(Container.DataItem("FilNavn"))  %>' maxheight="250" maxwidth="400" runat="server"/>
            </ItemTemplate>
        </asp:TemplateColumn>
    </columns>
</asp:datagrid>

og emne.ascx.vb ser sådan her ud:

Imports Database
Imports Diverse
Imports Microsoft.VisualBasic

Public Class UserKoden : Inherits UserControl

    Dim DataMysql as new DataBaseMysql()
    Dim DataOleDB as new DataBaseOleDB()
    Public Div as new DiverseFunktioner()   
    Dim Grid as New Gridmysql()

    Protected dgbeholder As System.Web.UI.Webcontrols.datagrid

    Public beskrivelse as string
    Public dato as string
    Public kategori as string
    Public Web as string   
   
    Public Sub Page_Load(Source As Object, E as EventArgs)
        if request.querystring("id") = "" then
            response.redirect(Div.Web & "referencer/")
        else
            DataMysql.OpenDb()
                DataMysql.DanData("SELECT * FROM referenceemne Where referenceid='" & request.querystring("id") & "';")
                If DataMysql.Data.read() then
                    Beskrivelse = replace(Div.ErstatBlank(DataMysql.Data("Beskrivelse").tostring()),vbCrLf, "<br>")
                    dato = format(DataMysql.Data("DatoTid"),"dd. MMMM yyyy")
                    kategori = DataMysql.Data("Kategoriid")
                    Web = Div.IkkeOplystWeb(Div.ErstatBlank(DataMysql.Data("Web").tostring()))
                end if
            DataMysql.CloseDb()
            DataMysql.OpenDb()
                DataMysql.DanData("SELECT * FROM referencekategori Where kategoriid='" & kategori & "';")
                If DataMysql.Data.read() then
                    kategori = Div.ErstatBlank(DataMysql.Data("Navn").tostring())
                end if           
            DataMysql.CloseDb()
        end if

        If not Page.IspostBack then
            fyld_dgbeholder()
        end if
    End Sub

    public sub fyld_dgbeholder()
        Dim udtryk as string
        udtryk = "SELECT Foto_Referenceemne.*, Foto.*, FotoKategori.*, Foto.FotoID FROM FotoKategori INNER JOIN (Foto INNER JOIN Foto_Referenceemne ON Foto.FotoID = Foto_Referenceemne.FotoID) ON FotoKategori.KategoriID = Foto.KategoriID WHERE (((Foto_Referenceemne.ReferenceID)=" & request.querystring("id") & "));"
        grid.griddan(udtryk, dgbeholder)
    end sub


End Class
Avatar billede repsak Nybegynder
16. marts 2004 - 09:40 #1
jeg gider ikke se al din kode igennem ;-)
Er du sikker på at du bruger upper/lowercase på samme måde?
Avatar billede ha9953 Nybegynder
16. marts 2004 - 12:22 #2
Jeps
Avatar billede repsak Nybegynder
16. marts 2004 - 12:44 #3
argh det ER jo det som er fejlen....
DgBeholder er id på DataGrid
men det er ikke det navn du bruger i koden
Avatar billede ha9953 Nybegynder
16. marts 2004 - 12:45 #4
den er rettet men stadigvæk melder den fejl :-(
Avatar billede repsak Nybegynder
16. marts 2004 - 12:47 #5
hvilken fejl? Hvis det er den samme så har du ikke rettet det 100%. Brug 'Søg'
Avatar billede ha9953 Nybegynder
16. marts 2004 - 12:52 #6
den fejl på id'et og idet hele taget - det er rettet - alle hedder ny dgbeholder med småt - men fejlen er der stadig
Avatar billede repsak Nybegynder
16. marts 2004 - 13:01 #7
nej, fejlen er ikke rettet - compilere tager nemlig aldrig fejl ;-)
Så må du lige vise din nye kode
Avatar billede ha9953 Nybegynder
16. marts 2004 - 13:04 #8
emne.ascx:

<%@ Control Language="VB" Inherits="UserKoden" Src="emne.ascx.vb" %>

<%@ register tagprefix="Foto" tagname="Foto" Src="~\media\foto\foto.ascx" %>

<table width="100%" cellpadding="5" cellspacing="0">
    <tr>
        <td align="left" valign="top" width="80">
            Dato:       
        </td>
        <td align="left" valign="top">
            <%=dato%>
        </td>
    </tr>
    <tr>
        <td align="left" valign="top">
            Type:       
        </td>
        <td align="left" valign="top">
            <%=kategori%>
        </td>
    </tr>
    <tr>
        <td align="left" valign="top">
            Link:       
        </td>
        <td align="left" valign="top">
            <%=Web%>
        </td>
    </tr>   
</table>

<br/>
<asp:datagrid id="dgbeholder" Width="100%" runat="server" ShowFooter="false" ShowHeader="false" AllowPaging="False" CellPadding="0" GridLines="none" AllowSorting="False" AutoGenerateColumns="false">
    <columns>
        <asp:TemplateColumn HeaderStyle-HorizontalAlign="Center" HeaderStyle-VerticalAlign="Top" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top">
            <ItemTemplate>                                                                                                                                                                                                   
                <Foto:Foto Titel="Stort foto" id="Foto1" fotoplacering='<%# Div.Erstatblank(Container.DataItem("kategoriNavn")) & "/" & Div.Erstatblank(Container.DataItem("FilNavn"))  %>' maxheight="300" maxwidth="300" runat="server"/>
            </ItemTemplate>
        </asp:TemplateColumn>
    </columns>
</asp:datagrid>
<br/>
<table width="100%" cellpadding="5" cellspacing="0">
    <tr>
        <td align="left" valign="top">
            <%=Beskrivelse%>       
        </td>
    </tr>
</table>

emne.ascx.vb:

Option Strict Off

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports Database
Imports Diverse
Imports Microsoft.VisualBasic

Public Class UserKoden : Inherits UserControl

    Dim DataMysql as new DataBaseMysql()
    Dim DataOleDB as new DataBaseOleDB()
    Public Div as new DiverseFunktioner()   
    Dim Grid as New Gridmysql()

    Public dgbeholder As System.Web.UI.Webcontrols.datagrid

    Public beskrivelse as string
    Public dato as string
    Public kategori as string
    Public Web as string   
   
    Public Sub Page_Load(Source As Object, E as EventArgs)
        if request.querystring("id") = "" then
            response.redirect(Div.Web & "referencer/")
        else
            DataMysql.OpenDb()
                DataMysql.DanData("SELECT * FROM referenceemne Where referenceid='" & request.querystring("id") & "';")
                If DataMysql.Data.read() then
                    Beskrivelse = replace(Div.ErstatBlank(DataMysql.Data("Beskrivelse").tostring()),vbCrLf, "<br>")
                    dato = format(DataMysql.Data("DatoTid"),"dd. MMMM yyyy")
                    kategori = DataMysql.Data("Kategoriid")
                    Web = Div.IkkeOplystWeb(Div.ErstatBlank(DataMysql.Data("Web").tostring()))
                end if
            DataMysql.CloseDb()
            DataMysql.OpenDb()
                DataMysql.DanData("SELECT * FROM referencekategori Where kategoriid='" & kategori & "';")
                If DataMysql.Data.read() then
                    kategori = Div.ErstatBlank(DataMysql.Data("Navn").tostring())
                end if           
            DataMysql.CloseDb()
        end if

        If not Page.IspostBack then
            fyld_dgbeholder()
        end if
    End Sub

    public sub fyld_dgbeholder()
        Dim udtryk as string
        udtryk = "SELECT Foto_Referenceemne.*, Foto.*, FotoKategori.*, Foto.FotoID FROM FotoKategori INNER JOIN (Foto INNER JOIN Foto_Referenceemne ON Foto.FotoID = Foto_Referenceemne.FotoID) ON FotoKategori.KategoriID = Foto.KategoriID WHERE (((Foto_Referenceemne.ReferenceID)=" & request.querystring("id") & "));"
        grid.griddan(udtryk, dgbeholder)
    end sub


End Class
Avatar billede repsak Nybegynder
16. marts 2004 - 13:07 #9
hvad siger fejlen?
Avatar billede ha9953 Nybegynder
16. marts 2004 - 13:10 #10
Server Error in '/' Application.
--------------------------------------------------------------------------------

Compilation 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: BC30456: 'dgbeholder' is not a member of 'ASP.emne_ascx'.

Source Error:



Line 1:  <%@ Control Language="VB" Inherits="UserKoden" Src="emne.ascx.vb" %>
Line 2: 
Line 3:  <%@ register tagprefix="Foto" tagname="Foto" Src="~\media\foto\foto.ascx" %>
Avatar billede repsak Nybegynder
16. marts 2004 - 15:00 #11
hmm jeg er ikke sæglig skarp i VB.NET syntaks - prøv at se om du kan kompilere din vb-fil
Avatar billede repsak Nybegynder
16. marts 2004 - 15:02 #12
prøv evt.
Public dgbeholder As System.Web.UI.Webcontrols.datagrid ->
Public dgbeholder As Datagrid
Avatar billede repsak Nybegynder
16. marts 2004 - 15:02 #13
jeg ved ikke om VB er casesensitive - hvis det er så kan du mange fejl i din source.
Please let me know :-)
Avatar billede repsak Nybegynder
18. marts 2004 - 20:32 #14
kom du videre?
Avatar billede ha9953 Nybegynder
18. marts 2004 - 21:26 #15
desværre :-( intet af ovenstående gjorde nogen forskel - så jeg ha lagt det lidt fra mig
Avatar billede repsak Nybegynder
18. marts 2004 - 21:27 #16
stadig samme fejl?
Avatar billede ha9953 Nybegynder
18. marts 2004 - 21:29 #17
jeps
Avatar billede repsak Nybegynder
18. marts 2004 - 21:30 #18
kunne du kompilere?
Avatar billede ha9953 Nybegynder
18. marts 2004 - 21:32 #19
jeps
Avatar billede repsak Nybegynder
18. marts 2004 - 21:35 #20
hvilken linje kompiledede du med?
Avatar billede ha9953 Nybegynder
14. april 2004 - 22:03 #21
du få pointne for ulejligheden selv om det ikke er lykekdes mig endnu
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