27. januar 2004 - 20:48Der er
6 kommentarer og 1 løsning
Hvordan bruger man import kommandoen i vb.net til egne namespaces
Hej
Jeg har en connectionstring jeg gerne vil kunne bruge i alle mine scripts. I asp ville jeg bare bruge en include fil men i vb.net lader det til at være lidt mere langhåret.
Jeg har lavet en namespacefil ved navn : testnamespace.vb
Den indeholder følgende :
Imports System
Namespace testnamespace
Public class Hilsen Dim Vartext as string public property text1 as string set (texten as string) Vartext = texten end set get text1 = "Min connectionstring til Database" end get end property end class
End Namespace
Denne fil vil jeg gerne kunne tilgå fra nedenstående script :
Sub Page_Load(Sender As Object, E As EventArgs) ' instantiere objectet "hilsen" dim hils as new hilsen 'set kommando putter input i variabel hils.text1 = "Teststreng" 'get kommando viser værdien af variabel felt1.text=Hils.text1 'set kommando putter indholde i variabel hils.text1 = "Connection streng" 'get kommando viser værdien af variabel felt2.text=hils.text1
--> jepsen999 Når jeg bruger <%@ import namespace "testnamespace" %> får jeg stadig : Parser Error Message: The server block is not well formed. Source Error: Line 1: <%@ Page Language="VB" %> Line 2: <%@ import namespace "testnamespace" %> <-- fejl Line 3: <script runat="server">
Det er moske relevant at nevne at min namespacefil heder "testnamespace.vb" og ligger i samme sti som mit script.
Nu har jeg fået kompileren til at gå forbi min import setning med kommandoen <%@ import Namespace="testnamespace" %> Men det mærkelige er at det er ligemeget hvad jeg skriver i Namespace="xxxx" compileren brokker sig ikke. Jeg skulle da mene at det navn skal svare til det navn man har angivet i sin namespacefil.
Tilgengæld kan jeg ikke refferere den klas jeg har i min namspacefil "testnamespace.vb" fra mit script selvom jeg nu formodentlig har en gyldig kommando.
Er der nogen der kan fortælle mig hvad jeg gør galt.
Argh, vi er vist helt galt på den her. Jeg går ud fra at du ikke har Visual Studio, så følgende klares uden.
Klassen hilsen ligger du i en fil og gemmer den som test.vb
Imports System Namespace testnamespace
Public class Hilsen private Vartext as string
public property text1 as string set (texten as string) Vartext = texten end set get return Vartext 'din version returnerede den samme tekst altid end get end property end class End Namespace
Klassen skal kompileres til en dll med kommandoen: vbc.exe /target:library test.vb /out:bin/test.dll
Gem scriptet i default.aspx og lav websharing på mappen den ligger i.
Herefter burde det virke !
Det namespace du skriver i din import gør at du ikke behøver at skrive testnamespace.hilsen.text1 = ..., men kan nøjes med at skrive hilsen.text1 = ...
Ja det er rigtigt, jeg kører med webmatrix. Nu virker det. Tak for hjælpen
Synes godt om
Ny brugerNybegynder
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.