henrikjohanssonMedlem sedan maj 2000373 inlägg
Jag har några funktioner som skall vara med på alla sidor och för att göra detta så la jag dom i en modul där jag skrev följande
Imports System.Data.OleDb
Module Modul
Public Class Funktioner
Shared Function CropText(ByVal sText As String, ByVal sLength As Integer) As String
Dim iNewLength As Integer
If Len(sText) > sLength Then
iNewLength = InStrRev(sText, " ", sLength + 1)
sText = Left(sText, iNewLength) & "..."
End If
CropText = sText
End Function
End Class
End Module
Detta fungerade bra tills jag ville ha en function som skall anropas från en .aspx fil.. i aspx.vb filen så var jag tvungen att inkludera modulen. Måste jag göra det på aspx sidan också isf hur? Testade att inkludera den precis likadant som på aspx sidan men det blir bara error..
henrikjohanssonMedlem sedan maj 2000373 inlägg
löste det genom att lägga funktionerna i en codefile istället
här är koden ifall någon är intresserad
Imports System.Data.OleDb
Namespace CodeFile
Public Class FunktionerOchSubbar
Shared Function CropText(ByVal sText As String, ByVal sLength As Integer) As String
Dim iNewLength As Integer
If Len(sText) > sLength Then
iNewLength = InStrRev(sText, " ", sLength + 1)
If Not iNewLength < sLength Then
sText = Left(sText, iNewLength) & "...<br>Läs mer"
End If
End If
CropText = sText
End Function
Shared Sub FillObj(ByVal obj As Object, ByVal sSQL As String)
Dim Con As OleDbConnection = New OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings.Get("dbconn"))
Dim DA As OleDbDataAdapter = New OleDbDataAdapter(sSQL, Con)
Dim DT As New DataTable()
DA.Fill(DT)
Con.Close()
obj.DataSource = DT
obj.DataBind()
End Sub
End Class
End Namespace
och för att inkludera på .aspx.vb fil
Imports h2data2.CodeFile.FunktionerOchSubbar
och på aspx
<%@ Import namespace="h2data2.CodeFile.FunktionerOchSubbar" %>
h0lgerMedlem sedan nov. 2002105 inlägg
Jag är inte riktigt säker på att jag förstår frågan men jag antar följande:
Du har skapat en modul i en egen dll som innehåller en klass. Du vill anropa din moduls funktioner från dina aspx-sidor.
Om detta stämmer så skall du göra följande:
- Lägg till din dll under References genom att högerklicka på References i solution explorer och välja Add Reference.
I din kod (aspx.vb) kan du sedan skapa instanser till din modul genom t.ex.
Dim objFunktioner as new Modul.Funktioner
s = objFunktioner.CropText("", 2)
henrikjohanssonMedlem sedan maj 2000373 inlägg
Vad är fördelen med att lägga det i en dll?
NETworkMedlem sedan juni 20011 679 inlägg
henrikjohansson skrev:
Vad är fördelen med att lägga det i en dll?
Lätt att återanvända. Behöver du modulen i ett annat projekt så behöver du bara importera den dit. Dessutom har du koden på ett ställe vilket gör det betydligt smidigare att ändra, bygga ut, rätta buggar etc. Bland annat...
henrikjohanssonMedlem sedan maj 2000373 inlägg
ok.. låter som en ganska bra ide att använda sig av en dll då..