Avatar billede set Nybegynder
07. maj 2009 - 17:10 Der er 5 kommentarer og
1 løsning

ekstra .cs fil til .net C#

Hej

Jeg har nogle procedure og functioner som skal bruges på flere websider.
For ikke at skrive den samme kode på hver eneste websides codebehind side, hvordan kan jeg så skrive koden i en separat fil og så henvise/kalde disse procedurer/functioner fra de enkelte websider.
Det er for ikke at gentage koden på mange sider, og så skal der kun rettes i koden et sted, i stedet for på mange siden hvor der så evt. kan opstå en fejl.

På forhånd mange tak.
Avatar billede arne_v Ekspert
07. maj 2009 - 17:22 #1
Lav et class library og tilfoej den dll til alle dine web projekter (den skal deployes til bin dir).
Avatar billede set Nybegynder
07. maj 2009 - 17:34 #2
et lille eksempel måske
Avatar billede arne_v Ekspert
07. maj 2009 - 17:37 #3
Hvad mener du med et eksempel?

Du laver et class library (DLL). Og naar du tilfojer den til dine web projekter kan du bruge koden i det ligesom alle andre klasser.
Avatar billede set Nybegynder
07. maj 2009 - 23:47 #4
hej
Når jer har lavet en cs.fil via opret nyt projekt class library

og vil indsætte min kode vil den ikke acceptere

using System.Web.UI.WebControls;
Den siger at UI ikke findes i namespace System.Web,

men når jeg har codebehind siden til aspx filen er der ikke noget galt. Hvad kan jeg gøre.

Jeg prøver at vedlægge den kode som jeg gerne vil have lavet om til en DLL fil.



using System;
using System.IO;
using System.Collections;
using System.Web;
using System.Web.UI.WebControls;

namespace Nellchen
{
    public class Nellchen
    {

        private int dirCount = 0;
        private ArrayList mini = new ArrayList();
        private ArrayList stort = new ArrayList();


        public string GetVirtualPath(string physicalPath)
        {
            string rootpath = Server.MapPath("~/");
            physicalPath = physicalPath.Replace(rootpath, "");
            physicalPath = physicalPath.Replace("\\", "/");
            return physicalPath;
        }

        private void ShowFilesIn(string dir)
        {
            string path = "";
            string sti = "";

            // Her laves den rigtige sti til billedet
            string startingDir = @"~/NellchenData/images/";

            sti = GetVirtualPath(startingDir + dir);

            path = Server.MapPath(startingDir + dir);

            string stor = GetVirtualPath(path);

            stor = stor.Replace("\\", "/");
            stor = stor.Remove(0, 13);

            dirCount = 0;
            mini.Clear();
            stort.Clear();

            try
            {
                DirectoryInfo dirInfo = new DirectoryInfo(path);
                foreach (FileInfo fileItem in dirInfo.GetFiles("*.jpg"))
                {  // Her indsættes stien til billedet i et array
                    mini.Add(sti + "/mini/" + fileItem);
                    stort.Add(stor + "/" + fileItem);

                    // Her tælles antal billeder
                    dirCount++;
                }

            }
            catch (Exception err)
            {

            }
        }

        protected void CreateTable(int rowCount, Table name, int tabpanel)
        {
            // Her sættes antal rækker, koloner
            int rows = (rowCount / 5) + 6;
            int cols = 5;
            // Antal celler
            int antal = 0;

            // Her findes teksten til overskrifterne
            char[] splitter = { '/' };
            string[] urlArray = stort[0].ToString().Split(splitter);

            string over1 = urlArray[urlArray.Length - 2];
            string over2 = urlArray[urlArray.Length - 3];

            for (int row = 0; row < rows; row++)
            {
                TableRow rowNew = new TableRow();

                // Her indsættes række i tabellen
                name.Controls.Add(rowNew);

                if (row < 5)
                {
                    TableCell cellNew = new TableCell();
                    cellNew.ColumnSpan = 5;
                    rowNew.Controls.Add(cellNew);

                    // Overskrifter i tabellen
                    switch (row)
                    {
                        case 0: cellNew.Text = over1;
                            cellNew.CssClass = "tekst7";
                            break;
                        case 1: cellNew.Height = 10;
                            break;
                        case 2: cellNew.Text = over2;
                            cellNew.CssClass = "tekst5";
                            break;
                        case 3: cellNew.Height = 10;
                            break;
                        case 4: cellNew.Text = "Klik på billedet for at se det i stor størrelse.";
                            cellNew.CssClass = "tekst4";
                            break;
                        default:
                            break;
                    }
                }
                else
                {
                    for (int col = 0; col < cols; col++)
                    {  // Her oprettes antal celler til billeder
                        if (antal < rowCount)
                        {
                            TableCell cellNew = new TableCell();
                            HyperLink hyp = new HyperLink();
                            Image img = new Image();


                            // Bredde, højde og stien til billedet
                            img.Width = 150;
                            img.Height = 115;
                            img.ImageUrl = mini[antal].ToString();

                            // Her indsættes billede i hyperlink
                            hyp.Controls.Add(img);

                            //her henvises til det store billede
                            hyp.NavigateUrl = "~/NellchenData/Billeder.aspx?billed=" + stort[antal].ToString() + "&tap=" + tabpanel.ToString();

                            //her indsættes hyperlink i cellen
                            cellNew.Controls.Add(hyp);

                            //Her indsætes cellen i rækken
                            rowNew.Controls.Add(cellNew);

                            //antal celler
                            antal++;
                        }

                    }
                }
            }
        }


    }
}



Håber det kan give dig en ide hvad jeg har brug for.

På forhånd mange tak.
Avatar billede set Nybegynder
08. maj 2009 - 21:09 #5
har fået løst problemmet ved at importere System.web biblioteket til det nye projekt hvor jeg oprettede min nye class fil.
Smider du et svar Arne V.
Avatar billede arne_v Ekspert
09. maj 2009 - 00:01 #6
ok
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
Kurser inden for grundlæggende programmering

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