Avatar billede ddobbeltv Nybegynder
06. maj 2004 - 13:16 Der er 9 kommentarer og
2 løsninger

Arve fra flere .cs filer

Hej

Vi er ved at lave et mindre projekt i asp.net C#... vores løsning skal kunne tilgåes fra mobile enheder, samt normale browsers...

Vi ville gerne have kode der skal bruges til begge løsninger samlet i en cs fil.. sharedcode.cs namespace = microgamesSharedCode... og få for hver webform, en cs fil med page_load og kode der kun gør sig gældende for netop den webform.... Visual studio opretter selv en cs fil for hver webform og importere den til aspx filen.

Men hvordan får vi arvet fra sharedCode.cs ?

Vi har forsøgt med :
<%@ Import Namespace="microgamesSharedCode" %> i default.aspx

og
using microgamesSharedCode; i default.aspx.cs

Men den kan ikke finde metoder der er skrevet i sharedCode.cs....

Hvordan får vi det lige til at virke ?

/Jacob Jensen
Avatar billede basementjack Nybegynder
06. maj 2004 - 13:22 #1
Skal det ikke være en .dll fil når du importer det som namespace?...
Avatar billede basementjack Nybegynder
06. maj 2004 - 13:24 #2
Som du bebeholder det som .cs fil kan du hente den ind sådan her:
<%@ Page Inherits="microgames.SharedCode" Src="sharedCode.cs" Language="VB" %>
Avatar billede ddobbeltv Nybegynder
06. maj 2004 - 13:30 #3
Jo men jeg har allerede en "inherits" hvis jeg sætter flere i @page får jeg fejl.. Jo min Cs fil bliver kompileret til en dll fil... jeg har godt nok kun én i mit /bin/ bibliotek, men jeg formoder da at alle mine cs filer bliver kompileret til denne..

/Jacob
Avatar billede basementjack Nybegynder
06. maj 2004 - 13:36 #4
Alle dine aspx filer kan finde finde dll filen i bin bibloteket, ja, hvis du importer den.
Forstår ikke hvad du mener med:
"men jeg formoder da at alle mine cs filer bliver kompileret til denne.."
Avatar billede ddobbeltv Nybegynder
06. maj 2004 - 13:41 #5
Hvordan får jeg min default.aspx til at arve fra sharedCode.cs ...  Min default.aspx arver allerede fra default.aspx.cs ... jeg vil også have den til at arve fra sharedcode.cs ... jeg kan ikke bare ligge dem efter hinanden i inherits, det vil den ikke tage..

det er sådan set bare det der er problemet :(
Avatar billede basementjack Nybegynder
06. maj 2004 - 13:45 #6
<%@ Page Inherits="nogetDefault" Src="default.aspx.cs" Language="C#" %>
<%@ Page Inherits="microgamesSharedCode" Src="sharedCode.cs" Language="C#" %>

Virker det?..
Avatar billede ddobbeltv Nybegynder
06. maj 2004 - 13:51 #7
There can be only one 'page' directive.

Nej man kan kun have en @page :(
Avatar billede basementjack Nybegynder
06. maj 2004 - 14:06 #8
Jeg kan ikke umiddelbart finde ud at importe to .cs, men hvis du compiler til .dll kan du hente lige så mange du vil med
<%@ import Namespace="en" %>
<%@ import Namespace="to" %>
<%@ import Namespace="tre" %>

Men jeg kigger videre efter en løsning på at hente flere codebehinds der er ucomplieret.
Avatar billede nielsbrinch Nybegynder
06. maj 2004 - 16:28 #9
Den klasse du allerede arver fra, kan du ikke lade den arve fra din SharedCode-klasse?
Avatar billede bechmann Nybegynder
07. maj 2004 - 12:15 #10
Du kan ikke gøre det fra aspx filen.
Det du skal gøre er, at du i code view ændrer den klasse der bliver arvet fra.
class MinSide: System.Web.UI.Page - System.Web.UI.Page skifter du ud med din klasse.
Din klasse skal naturligvis arve fra System.Web.UI.Page

Held og lykke med det
Avatar billede ddobbeltv Nybegynder
08. maj 2004 - 00:26 #11
Hej tak for jeres besvarelser.. jeg kan desværre først lige teste det på mandag..
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