Avatar billede md_craig Nybegynder
22. januar 2005 - 12:27 Der er 8 kommentarer og
1 løsning

Flere CodeBehind filer

Ja... som overskriften siger... jeg skal have det til at virke med flere filer til forretningslogik

Ganske som man normalt har flere klassefiler (1 pr klasse norm) ved applikationer... vil jeg gerne følge denne logik...

Men hvordan gør jeg så nu lige det?
Avatar billede snepnet Nybegynder
22. januar 2005 - 13:06 #1
hej md_craig.

lige et par hurtige spørgsmål :
1)
hvilket udviklingsmiljø bruger du ?

2)
er det bare et spørgsmål om at du vil have flere klasser i dit projekt ?

3)
eller er det reelt et spørgsmål om at du vil have forskelllige code-behind filer til den samme form (det kan man ikke som udgangspunkt, men der er andre muligheder) ?

Mvh
Avatar billede arne_v Ekspert
22. januar 2005 - 13:15 #2
Jeg vil da mene at du skal:
  - kun putte den direkte UI relaterede logik i din code behind
  - putte den generelle forretnings logik i helt almindelige klasser
    (og hvis du har lyst til 1 klasse per fil ligesom i Java, så kan du sgatens det)
  - din code behind klasse bruger/kalder så de generelle klasser
Avatar billede snepnet Nybegynder
22. januar 2005 - 13:26 #3
Du kan lige få et generelt eksempel her :

// en aspx-fil (Craig.aspx) :
<%@ Page Language="C#" Src="Craig.aspx.cs" Inherits="CraigNamespace.Craig" %>
<html>
<head>
</head>
<body>
    <form runat="server">
        <asp:TextBox id="txtSomeTextBox" runat="server"></asp:TextBox>
        <asp:Button id="btnSomeButton" onclick="btnSomeButton_Click" runat="server" Text="Button"></asp:Button>
    </form>
</body>
</html>

// en code-behind fil (Craig.aspx.cs)
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CraigNamespace
{
    public class Craig : Page
    {
        protected TextBox txtSomeTextBox;
        protected Button btnSomeButton;

        public string GetCraigSupportString()
        {
            return new CraigSupport().GetSupportString();
        }

        protected void btnSomeButton_Click(object sender, EventArgs e)
        {
            this.txtSomeTextBox.Text = GetCraigSupportString();
        }
    }
}


// og en klasse, med en "sejg feature" (CraigSupport.cs) :
namespace CraigNamespace
{
    using System;
    public class CraigSupport
    {
        public CraigSupport()
        {
        }

        public string GetSupportString()
        {
            return "SupportString";
        }
    }
}

Hvis du bygger filerne op som vist, kan du kompilere CraigSupport til en dll ved følgende kommando :
csc.exe /t:library /out:CraigSupport.dll CraigSupport.cs

Outputtet - altså CraigSupport.dll - skal du så lægge i din bin-folder.
Så skulle det funge.

mvh

(hvis du bruger visual studio behøver du ikke bikse med kompilering og placering af dll-er selv).
Avatar billede md_craig Nybegynder
23. januar 2005 - 00:42 #4
arne_v >>>

Naturligvis... men det ser ud til at Snepet har fattet hvad det er der er mit problem...

snepnet >>>

Benytter skam VS.NET 2003
Og der skulle man jo kunne undgå alt det pjat der ja...
Problemet er bare at jeg ikke har haft succes med at oprette webprojekter endnu da min server og workstation ikke er samme maskine... Og har PT ikke kunne finde ud af hvordan jeg så gør...
Avatar billede snepnet Nybegynder
23. januar 2005 - 13:34 #5
Ahh... jeg vil meget gerne anbefale dig at sørge for at du arbejder lokalt på din udviklingsmaskine med projekterne.
Altså så du (når du opretter et webprojekt) bare gør som det er lagt op standard, og så bare deployer det til din anden server når den tid kommer.
Der er rigtig gode muligheder for den slags. Dels kan du gøre det direkte fra vs, og det er uhyre enkelt at oprette en installer - også til webprojekter.
Desuden er copy/paste lige så fin som altid (ved ftp eller fileshare, eller hvad du nu har af adgang til serveren).

Men ... hvis du starter med at oprette dig et nyt web-projekt på din udviklingsmaskine, og vil jeg meget gerne guide dig igennem de forskellige muligheder der er.
(Både for det der verører dit oprindelige spørgsmål, og for de deployementløsninger du kunne lave).

Hvad siger du til det... Kunne det være til hjælp ?

mvh
Avatar billede md_craig Nybegynder
24. januar 2005 - 10:44 #6
Tja... nu er jeg lige PT i gang med at få den til at ville oprette Webprojekter overhovedet... Med andre ord ved at finde ud af hvordan jeg Opgraderer til ASP.NET 1.1 efter som den konstant klager over lige præsis det... :(
Avatar billede snepnet Nybegynder
24. januar 2005 - 15:58 #7
ærgeligt når det driller :o(
mvh
Avatar billede md_craig Nybegynder
26. maj 2005 - 15:30 #8
Smider du lige et svar Snepet... ryde op tid... og alle problemer er blevet løst for længst... :P
Avatar billede snepnet Nybegynder
26. maj 2005 - 17:00 #9
hehe ... ok :o)
mvh
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