Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-18 09:52:53 - Andreas Olausson, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 1017 personer

Nu ska jag ge mig på asp.net tänkte jag...så jag tänkte göra om en hemsida till .net

Så som hemsidan ser ut idag är det aspsidor som går mot en vb6 dll som bla hämtar saker ur en databas.

Detta görs ju med Server.CreateObject("bla.jadajada")

Hur görs detta i .net? Jag tänkte använda VB.net för ändamålet...

Vi kan ta ett exempel i asp & vb6:

ASP:
<code>
Set x = Server.CreateObject("myDll.myClass")
y = x.getHelloWorld

Response.Write y
</code>
VB:
<code>
Public Function getHelloWorld() as String
getHelloWorld = "Hej Världen"
End Function
</code>

Hur skulle detta se ut i asp.net?

Det rör sig förvisso om att hämta lite data ur en databas, och jag skulle uppskatta om jag kunde ha all "middletierkod" samlat på ett ställe, men det kanske är ett helt annat tänk när det gäller dot.net


Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-18 10:21:36 - Martin Roth

Hej,

ASP.NET fungererar ju en smula annorlunda i jämförelse med VB6.

Till att börja med så är webbsidorna (benämns webbforms) generellt sett uppdelade i två delar. Ett presentationsläge (Html etc) samt ett codebehind-läge (ren logik).

Det du efterfrågar kan du antingen välja att lägga i codebehinden för en viss sida eller i en egen klass som kan användas på din sida. Klassen kan du sedan antingen lägga i webbprojektet eller i ett eget projekt. Vid val av det sistnämnda alternativet måste även en referens läggas till mot det fristående projektets assambly (dll).

Det absolut enklaste är att välja att lägga din logik i samma projekt som resten av webbplatsen, förslagsvis i en egen klass.

Du kan sedan instansiera klassen från codebehind eller ASP.NET som exemplet nedan:

Exempel egen klass
<code>
Imports System

Namespace Level1.Level2
Public Class MyClass
Public Function HelloWorld() As String
HelloWorld = "Hello world"
End Function
End Class
End Namespace
</code>

Exempel Webbform
<code>
<%
Dim myHelloClass As Level1.Level2.MyClass = new Level1.Level2.MyClass()
Response.Write( myHelloClass.HelloWorld() )
%>
</code>

M v h
/Martin


Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-18 13:56:27 - Andreas Olausson

Tack!

Jag får det dock inte att funka :(

Gjorde en enkel sida med din kod
men jag får detta:

<code>
Compiler Error Message: BC30002: Type 'Level1.Level2.MinClass' is not defined.

Source Error:



Line 1: <%
Line 2: Dim myHelloClass As Level1.Level2.MinClass = new Level1.Level2.MinClass()
Line 3: Response.Write( myHelloClass.HelloWorld() )
Line 4: %>

</code>



Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-18 22:43:34 - Martin Roth

Hej,

Som sagt måste du lägga den första delen i en egen klass i samma projekt för att sedan kompilera det projektet.

Annars känner inte ASP.NET till att det finns någon sådan klass. Vilken miljö arbetar du i?? MS Visual Studio.NET eller någonting annat??

M v h
/Martin


Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-19 08:57:33 - Andreas Olausson

Jo då det är MS Visual Studio.

En egen klass finns, (högerklick på projektet och "Add Class")

I min Index.aspx funkar inte koden, då får jag felet. Det funkar inte ens med att få upp funktionerna i klassen när jag trycker punkt efter det tilldelade klassnamnet (MyHelloClass.) då borde ju HelloWorld poppa upp eller?

Däremot som jag skiriver i Index.aspx.vb så får jag upp det, men hur kommer jag åt det där? Det känns lite som ett steg för mycket att gå den vägen men som sagt jag har inte något riktigt asp.net-tänk ännu.

Kompilera...Jag har kört "Build Solution" men icke...

Mvh
Andreas


Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-19 09:54:17 - Martin Roth

Hej,

Till att börja med så är jag en C#-kille och kör normalt inte VB.NET. Kikade dock lite på det nu och klurade ut vad som ställer till det .

Det verkar som om ASP.NET delen inte vill tillåta deklarationen och instansiering av klassen i webformet.

De alternativ jag testade var dels att deklarera och instansiera myHelloWorld i aspx.vb filen, samt att alternativ på samma lösning där jag skrev resultatet från metoden till en Label på webformet.

Se exempel nedan:

WebForm (default.aspx)
<code>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="default.aspx.vb" Inherits="vbnet._default"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>default</title>
</head>
<body>

<form id="Form1" method="post" runat="server">

<asp:Label ID="MyLabel" Runat="server" />

</form>

</body>
</html>
</code>


WebForm - CodeBehind (default.aspx.vb)
<code>
Public Class _default
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Public bob As Level1.Level2._MyClass
Protected MyLabel As System.Web.UI.WebControls.Label


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

bob = New Level1.Level2._MyClass()
MyLabel.Text = bob.HelloWorld()

End Sub

End Class
</code>


Klassen - MyClass.vb
<code>
Imports System

Namespace Level1.Level2
Public Class _MyClass
Public Function HelloWorld() As String
HelloWorld = "Hello world"
End Function
End Class
End Namespace
</code>

M v h
/Martin


Svara

Sv: Server.CreateObject fast asp.net style? Nybörjarfråga

Postades av 2003-03-19 10:14:59 - Andreas Olausson

Tack så jättemycket!

Du har räddat min dag

Mvh
Andreas


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
694
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies