Avatar billede aceymer Nybegynder
06. marts 2003 - 09:05 Der er 15 kommentarer og
1 løsning

Teori spørgsmål ang transport mellem lag

Jeg sidder midt i en hovedopgave og har et spørgsmål...
så vidt som jeg kan læse mig til, foregår der en omtransformering mellem lag i .Net miljøet....
jeg er bare lidt i tvivl om det foregår mellem eks. DataAdapter og SQLDatabase uden at jeg selv skriver en eneste linje kode...
jeg ved det er kedeligt teori, men jeg håber der er en der kan give mig klar besked, eller et link til hvor jeg kan få klar besked..
på forhånd tak!!
Avatar billede askhoej Praktikant
06. marts 2003 - 09:30 #1
Måske kan det her hjælpe:

//Gennemgang af ADO.NET (ikke vildt detaljeret)
http://www.googol.dk/examples.aspx?id=52

//Generel beskrivelse af .NET og ADO.NET
http://www.googol.dk/articles.aspx?id=1

Hvilken type hovedopgave er du igang med?

/askhoej
Avatar billede aceymer Nybegynder
06. marts 2003 - 09:34 #2
vi er ved at lave en hjemmeside til køb af cd´er på datamatiker uddannelsen.
ideen er at man går ind på siden...
vælger de numre man kan lide..
vi brænder cd´en og sender den til kunden...
kunden får en lovlig cd med det musik han kan lide...

Nu jeg er her har jeg et andet problem...

jeg har en user Control...
den er på flere aspx sider...
den virker fint men dataen i min dropdownlist nulstilles når jeg hopper mellem sidderne..

hvordan kan dette løses
Avatar billede askhoej Praktikant
06. marts 2003 - 09:34 #3
Avatar billede guidmaster Nybegynder
06. marts 2003 - 09:37 #4
Hvilken type 'transformering' tænker du på? Umiddelbart er det jo noget du selv kan styre da det er muligt at bruge System.Data.SqlTypes namespacet. Men lad os høre hvad det mere præcist du tænker på :)
Avatar billede askhoej Praktikant
06. marts 2003 - 09:37 #5
Du skal huske at binde data til din UserControl i dens Page_Load, hvis du allerede gør det må du gerne smide lidt kode - så kigger jeg gerne på det.
Avatar billede aceymer Nybegynder
06. marts 2003 - 09:42 #6
guidMaster: i nogle bøger har jeg læst at den omtransformere alt mellem lag til xml....
er dette sandt???
Avatar billede aceymer Nybegynder
06. marts 2003 - 09:44 #7
askhoej:
her er koden...

namespace CDByg
{
    using System;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    /// <summary>
    ///        Summary description for Altid.
    /// </summary>
    public abstract class Altid : System.Web.UI.UserControl
    {
        protected System.Web.UI.WebControls.Button nyCDButton;
        protected System.Web.UI.WebControls.DropDownList cdDropDownList;
        protected System.Web.UI.WebControls.DataGrid kurvDataGrid;
        protected System.Web.UI.WebControls.DropDownList DropDownList2;
        protected System.Web.UI.WebControls.DropDownList DropDownList1;
        protected System.Web.UI.WebControls.Label linkLabel;
        protected System.Web.UI.WebControls.HyperLink ComputerWorldHyperLink;
        protected System.Web.UI.WebControls.HyperLink FonaHyperLink;
        protected System.Web.UI.WebControls.HyperLink HyperLink1;
        protected System.Web.UI.WebControls.HyperLink HyperLink2;
        protected System.Web.UI.WebControls.HyperLink HyperLink3;
        protected System.Web.UI.WebControls.HyperLink HyperLink4;
        protected System.Web.UI.WebControls.HyperLink HyperLink5;
        protected System.Web.UI.WebControls.Label LabelTop10;
        protected System.Web.UI.WebControls.Label Label1;
        protected System.Web.UI.WebControls.HyperLink BilkaHyperLink;

        private void Page_Load(object sender, System.EventArgs e)
        {
            if (((DataSet)Session["Kurv"]) == null)
            {
                Session["Kurv"] = new DataSet();
                if(((DataSet)Session["Kurv"]).Tables.Count == 0)   
                {
                    DataSet ds = (DataSet)Session["Kurv"];
               
                    ds.Tables.Add("Kurv" + cdDropDownList.SelectedItem.Text);
                    ds.Tables["Kurv" + cdDropDownList.SelectedItem.Text].Columns.Add("katagoriNavn");
                    ds.Tables["Kurv" + cdDropDownList.SelectedItem.Text].Columns.Add("kunstnerNavn");
                    ds.Tables["Kurv" + cdDropDownList.SelectedItem.Text].Columns.Add("spilleTid");
                    ds.Tables["Kurv" + cdDropDownList.SelectedItem.Text].Columns.Add("titel");
                   
                   
                    Session["Kurv"] = ds;
                }
            }
            dataFill2();
           
           
           
            // Put user code to initialize the page here
        }


        public System.Web.UI.WebControls.Button getNyCDButton()
        {
                return this.nyCDButton;
        }

        public System.Web.UI.WebControls.DataGrid getKurvDataGrid()
        {
                return this.kurvDataGrid;
        }

        public System.Web.UI.WebControls.DropDownList getCdDropDownList()
        {
                return cdDropDownList;
        }

        public void fjernRow(object sender, System.EventArgs e)
        {
            DataSet ds = (DataSet)Session["Kurv"];
            ds.Tables["Kurv" + cdDropDownList.SelectedItem.Text].Rows.RemoveAt(kurvDataGrid.SelectedIndex);
            Session["Kurv"] = ds;
            dataFill2();
        }

        public void dataFill2()
        {    this.Label1.Text = cdDropDownList.Items.Count.ToString();
            kurvDataGrid.DataSource = ((DataSet)Session["Kurv"]).Tables["Kurv" + cdDropDownList.SelectedItem.Text];
            kurvDataGrid.DataBind();
        }

        private void nyCDButton_Click(object sender, System.EventArgs e)
        {   
            cdDropDownList.Items.Add(new ListItem("CD " + (cdDropDownList.Items.Count + 1),"CD " + (cdDropDownList.Items.Count + 1)));
           
            DataSet ds = (DataSet)Session["Kurv"];
               
            ds.Tables.Add("Kurv" + "CD " + cdDropDownList.Items.Count);
            ds.Tables["Kurv" + "CD " + cdDropDownList.Items.Count].Columns.Add("katagoriNavn");
            ds.Tables["Kurv" + "CD " + cdDropDownList.Items.Count].Columns.Add("kunstnerNavn");
            ds.Tables["Kurv" + "CD " + cdDropDownList.Items.Count].Columns.Add("spilleTid");
            ds.Tables["Kurv" + "CD " + cdDropDownList.Items.Count].Columns.Add("titel");
                   
            Session["Kurv"] = ds;
        }

        public String getSelectedCD()
        {
                return "Kurv" + cdDropDownList.SelectedItem.Text;
        }
Avatar billede aceymer Nybegynder
06. marts 2003 - 10:23 #8
her er den ene klasse hvori jeg bruger den...
    /// </summary>
    public class SoegMusik : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Panel PanelSoeg;
        protected System.Web.UI.WebControls.DataGrid soegDataGrid;
        protected System.Web.UI.WebControls.DropDownList soegDropDownList;
        protected System.Web.UI.WebControls.TextBox soegTextBox;
        protected System.Web.UI.WebControls.Button kunsterButton;
        protected System.Web.UI.WebControls.Label Label1;
        protected Altid Altid1;
       

        private void Page_Load(object sender, System.EventArgs e)
        {    Altid1.DataBind();
            dataFill();       
        }
Avatar billede askhoej Praktikant
06. marts 2003 - 10:45 #9
Du siger dataene i din DropDownList forsvinder, men i din kode kan jeg slet ikke se hvordan de skulle komme der til at starte med?
Avatar billede aceymer Nybegynder
06. marts 2003 - 11:16 #10
noget af min designer stå for, kan det være problemet.....
Avatar billede aceymer Nybegynder
06. marts 2003 - 11:17 #11
noget af min kode har min designer stå for, kan det være problemet.....
Avatar billede askhoej Praktikant
06. marts 2003 - 11:27 #12
Det kunne det sagtens være, jeg har aldrig været særlig stor fan alt det der autodesigner noget.
Avatar billede aceymer Nybegynder
06. marts 2003 - 11:42 #13
nu er jeg snart på grådens rand....
jeg har prøvet at rette følgende i koden....
private void Page_Load(object sender, System.EventArgs e)
        {    if(Session["DG"] == null)
            {
                    cdDropDownList.Items.Add(new ListItem("CD 1","CD 1"));
                    cdDropDownList.DataBind();
                    Session["DG"] = cdDropDownList;
           
            }
            else
                cdDropDownList = (DropDownList)Session["DG"];

i min session er det gemt som det skal men dette hjælper heller ikke...
du skulle vel ikke have noget kode der skulle kunne bruges
Avatar billede askhoej Praktikant
06. marts 2003 - 12:00 #14
Du skal ikke gemme instansen af DropDownListen, du skal gemme de enkelte ListItems. Har ikke lige tid til noget kode, men prøv at kigge på:

cdDropDownlist.Items.CopyTo den kan vist nok kopiere dine ListItem til et array og dette array kan du så gemme i din session og senere genindlæse i din DropDownList.

Håber det kan hjælpe dig lidt på vej.
Avatar billede askhoej Praktikant
06. marts 2003 - 12:10 #15
Hmmm glem det jeg lige skrev, jeg havde vist lige lidt tid alligevel og dette virker:

private void Page_Load(object sender, System.EventArgs e)
{
  if(Session["DDL"] == null)
  {
    ListItemCollection test = new ListItemCollection();
    test.Add(new ListItem("CD 1","CD 1"));

    cdDropDownList.DataSource = test;
    cdDropDownList.DataBind();
    Session["DDL"] = test;
    Response.Write("Session Null");
  }
  else
  {
    cdDropDownList.DataSource = (ListItemCollection)Session["DDL"];
    cdDropDownList.DataBind();
    Response.Write("Session Not Null");
  }
}
Avatar billede aceymer Nybegynder
18. juni 2003 - 12:22 #16
slut
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