Avatar billede kjona Nybegynder
16. september 2002 - 14:14 Der er 17 kommentarer og
1 løsning

Kalde sub fra et andet aspx doc??

Hvis har nogle generelle funktioner som jeg gerne vil bruge på flere af mine *.aspx sider. Hvordan kan jeg så kalde funktionen fra min funktions side?

Er der noget der skal importeres, eller...?
Avatar billede kichian Nybegynder
16. september 2002 - 14:20 #1
Du lægger dine funktioner i en generel klasse. Og så importerer du denne klasse.
Avatar billede z42cool Nybegynder
16. september 2002 - 14:22 #2
Lav en .cs eller .vb fil afhængig af sprogvalg. Lav en klasse der indeholder dine funktioner. Kompiler filen med csc.exe eller vbc.exe, f.eks. "csc.exe /target:library minklasse.cs". Placer din kompilerede dll fil (minklasse.dll) i dit /bin bibliotek og brug den nu lystigt på inde .aspx sider!
Avatar billede kjona Nybegynder
16. september 2002 - 14:47 #3
Hvordan får jeg fat i vbc.exe?
Avatar billede kichian Nybegynder
16. september 2002 - 14:54 #4
Avatar billede kjona Nybegynder
18. september 2002 - 23:10 #5
Hvordan laver man klassen?
Avatar billede z42cool Nybegynder
19. september 2002 - 08:23 #6
Namespace MyNamespace
  Public Class MySharedFunctions
    Public Sub DoSomething(IIn As Integer) As Integer
      DoSomething = IIn + 1
    End Sub
  End Class
End Namespace

Gemmes i f.eks MyNamespace.vb, kompileres med "vbc /target:library MyNamespace.vb"
Avatar billede kjona Nybegynder
19. september 2002 - 18:14 #7
DoSomething = IIn + 1

Forstår jeg ikke!!??

Sorry men jeg sgu totalt newbee i det her! :-)
Avatar billede z42cool Nybegynder
19. september 2002 - 21:43 #8
He-he... Jeg er c-skarp mand, så jeg er ikke så skarp i VB, måske burde det være:

Public Function DoSomething(IIn As Integer) As Integer
  return IIn + 1
End Function

Men det var egentligt også bare for at illustrere at de funtioner der skal kunne anvendes på mange sider skal ligge i klasser i denne fil!
Avatar billede kjona Nybegynder
19. september 2002 - 22:56 #9
Nu har jeg lavet en MyNamespace.vb fil der ligger i roden af c: drevet, hva dææælen skal jeg skrive helt præcist i DOS-promten?

Her er koden:

Namespace MyNamespace
  Public Class MySharedFunctions
    Public Sub test(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Response.Write("TestingsName")
    End Sub
  End Class
End Namespace
Avatar billede kjona Nybegynder
19. september 2002 - 23:04 #10
ok, har fundet ud af det. Men hvorfor kan ikke kende Response? Den skriver at den ikke er erklæret!
Avatar billede kjona Nybegynder
19. september 2002 - 23:16 #11
Hvorfor kender den ikke Dataview, Dataset osv?
Avatar billede z42cool Nybegynder
20. september 2002 - 07:46 #12
Response er en property på Page klassen, så hvis du skal bruge den, så skal du sende din instans af Page med, f.eks:

Public Sub test(System.Web.UI.WebControls.Page page)
    page.Response.Write("TestingsName")
End Sub

De klasser du skal bruge, skal du enten fuldt kvalificere (som jeg har gjort med Page) eller du skal importere dem med Imports.....

Imports System.Web.UI.WebControls

Namespace MyNamespace
  Public Class MySharedFunctions
    Public Sub test(Page page)
    Response.Write("TestingsName")
    End Sub
  End Class
End Namespace
Avatar billede kjona Nybegynder
20. september 2002 - 10:21 #13
Her er min kode, jeg får stadigvæk en masse fejl (PS. jeg bruger MySQL)! :

Imports System.Web.UI.WebControls
Imports Microsoft.data.ODBC
Imports System.Data

Namespace dbfunc
Public Class dbfunktioner

Dim objConn as ODBCConnection

  Sub ConnectToDB()
    'DATABASE CONNECTION
    Dim strConn As String = "driver=MySQL;Server=localhost;DB=parkwine;UID=parkwine;Pwd=parkwine;"
    objConn = New ODBCConnection(strConn)
  end sub


  sub DBSelect(strSQL as String)
    If Not Page.IsPostBack Then
      Dim objDA As New ODBCDataAdapter
      Dim dvw As DataView
      Dim ds As New DataSet
      objDA = New ODBCDataAdapter(strSQL, objConn)
      objDA.Fill(ds, "selecter")
      dvw = ds.Tables("selecter").DefaultView
      ctrlRepeater.DataSource = dvw
      ctrlrepeater.DataBind()
    End If
  end sub

  End Class
End Namespace
Avatar billede z42cool Nybegynder
20. september 2002 - 11:29 #14
sub FillRepeater(repeater As Repeater, page As Page, strSQL as String)
    If Not page.IsPostBack Then
      Dim objDA As New ODBCDataAdapter
      Dim dvw As DataView
      Dim ds As New DataSet
      objDA = New ODBCDataAdapter(strSQL, objConn)
      objDA.Fill(ds, "selecter")
      dvw = ds.Tables("selecter").DefaultView
      repeater.DataSource = dvw
      repeater.DataBind()
    End If
  end sub
Avatar billede kjona Nybegynder
26. september 2002 - 00:32 #15
Til dit forrige forslag får jeg følgende fejl:

C:\INETPUB\WWWROOT>vbc.exe /t:library /out:close.dll closeDll.vb
Microsoft (R) Visual Basic .NET Compiler version 7.00.9466
for Microsoft (R) .NET Framework version 1.00.3705
Copyright (C) Microsoft Corporation 1987-2001. All rights reserved.

C:\INETPUB\WWWROOT\closeDll.vb(1) : error BC30466: Namespace or type 'WebControl
s' for the Imports 'System.Web.UI.WebControls' cannot be found.

Imports System.Web.UI.WebControls
        ~~~~~~~~~~~~~~~~~~~~~~~~~
C:\INETPUB\WWWROOT\closeDll.vb(5) : error BC30213: Comma or ')' expected.

    Public Sub test(Page page)
                        ~~~~
C:\INETPUB\WWWROOT\closeDll.vb(6) : error BC30451: Name 'Response' is not declar
ed.

    Response.Write("TestingsName")
    ~~~~~~~~

C:\INETPUB\WWWROOT>

Kan du se hva der går galt?
Avatar billede z42cool Nybegynder
26. september 2002 - 14:11 #16
Det skal bare være

Imports System.Web.UI.WebControls

Namespace MyNamespace
  Public Class MySharedFunctions
    Public Sub test(Page page)
    page.Response.Write("TestingsName")
    End Sub
  End Class
End Namespace

Da klassen Page ligger i System.Web.UI og Response skal naturligvis kvalificeres med page da denne jo er en property heri. Det kan godt være du skal have /r:system.web.dll med i din kommandolinie til kompileren!
Avatar billede kjona Nybegynder
27. september 2002 - 00:57 #17
Når jeg prøver at kompilere dette:

Imports System.Web.UI.WebControls

Namespace MyNamespace
  Public Class MySharedFunctions
    Public Sub test(page As Page)
    page.Response.Write("TestingsName")
    End Sub
  End Class
End Namespace

Får jeg denne fejl:
error 30002: Type "Page" is not defined
Public Sub Test(page As Page)

Min Kommando linie ser sådan ud:
vbc.exe /r:system.web.dll /t:library closedll.vb

Hva går der galt??
Avatar billede kjona Nybegynder
02. oktober 2002 - 09:19 #18
Hallo..??
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