[C# + Asp.net] Session met dropdownlist

Pagina: 1
Acties:
  • 76 views sinds 30-01-2008

  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
Ik heb het volgende probleem.

Het is de bedoeling dat ik een CMDB ga maken (contact managment database) met C#, ASP.net en een MS SQL database.

Dit lukt tot nu toe heel aardig. Ik kan al eigenlijk in elke tabel schrijven, en records toevoegen. Nu wil ik het (op dit moment nog) per tabel gaan uitlezen. Hiervoor gebruik ik een dropdownlist, waar aan de hand van de "selectedindex" een record in de tabel weergegeven moet worden in verschillende textboxen.

In verhaal:
Ik wil leverancier "Hewlett Packerd" en gegevens zien in het form:
Gebruiker selecteerd uit dropdownlist "Hewlett Packerd", klikt op knop "weergeven" en krijgt verschillende gegevens te zien.

Het probleem is het volgende:
Het maakt niets uit welke leveranciers ik uit de dropdownlist selecteer, de selectedindex is ALTIJD 0.

Dit heeft volgens mij te maken met de Session.
Hiervoor heb ik de volgende code om de sessie te identificeren:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Page_Load(object sender, System.EventArgs e)
{
    // Put user code to initialize the page here
            
    if (!IsPostBack)
    {               
        adptLeveranciers.Fill(dsLeveranciers1);
        Session["dsLeveranciers1"] = dsLeveranciers1;
        Session["ddlLeveranciers"] =ddlLeveranciers.SelectedIndex;
    }
    else
    {
        dsLeveranciers1 = (dsLeveranciers) Session["dsLeveranciers1"];
                                ddlLeveranciers.SelectedIndex = (int) Session["ddlLeveranciers"];
    }
    ddlLeveranciers.DataBind(); // Binden van de DDL
                
}


Het is dus de bedoeling dat de geselecteerde selectedindex van de gebruiker ook weergegeven wordt. Nu kan ik klikken wat ik wil, maar alleen selectedIndex 0 word weergegeven. (en die index veranderd ook niet)

De Selectedindex 0 wordt voor de rest wel goed weergegeven in de textboxen, dus het ligt volgens mij echt in dit stukje code.

Als iemand kan helpen zou ik het zeer fijn vinden. Het is een school opdracht, maar als ik op die leraar moet wachten, heb ik een probleem want hij is komende week met een andere klas op excursie...Dus ik baal op het moment ook nog eens! :( (lekker geregeld ja ik weet et)

IMG:
Afbeeldingslocatie: http://members.home.nl/piet-verhaeg/Mario/test.JPG

Button = weergeven knop
Onderste textbox = waarde van selectedindex

[ Voor 3% gewijzigd door NMe op 27-05-2005 13:34 . Reden: [code] en [/code]-tags toegevoegd. Doe je het volgende keer zelf? :) ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-05 14:03

curry684

left part of the evil twins

Supermario16 schreef op vrijdag 27 mei 2005 @ 13:31:
Ik wil leverancier "Hewlett Packerd" en gegevens zien in het form:
Gebruiker selecteerd uit dropdownlist "Hewlett Packerd", klikt op knop "weergeven" en krijgt verschillende gegevens te zien.
Waarom gebruik je AutoPostBack en OnSelectedIndexChange niet?

Het bedrijf heet overigens Hewlett Packard ;)
Het probleem is het volgende:
Het maakt niets uit welke leveranciers ik uit de dropdownlist selecteer, de selectedindex is ALTIJD 0.
Ik snap uberhaupt niet wat je met een Session doet, roep gewoon in het Onblahblahchange event een centrale method aan met de SelectedIndex van het ding, en het moet perfect werken. Al dat gekloot in de Page_Load is helemaal niet nodig.

Professionele website nodig?


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
curry684 schreef op vrijdag 27 mei 2005 @ 13:50:
[...]

Waarom gebruik je AutoPostBack en OnSelectedIndexChange niet?

Het bedrijf heet overigens Hewlett Packard ;)

[...]

Ik snap uberhaupt niet wat je met een Session doet, roep gewoon in het Onblahblahchange event een centrale method aan met de SelectedIndex van het ding, en het moet perfect werken. Al dat gekloot in de Page_Load is helemaal niet nodig.
Een methode aanmaken, met een onchange event waarin hij onchange die textboxen invuld??
Hierbij kan ik die postback ook helemaal achterwege laten??
(in mijn achterhoofd houdende dat ik straks een "wijzigen" knop toevoeg!)

Mijn leraar zei het zo:
Met een postback kun je kijken of de pagina voor het eerst geladen of niet. Zo ja, maak je een nieuwe session aan, zo nee laad je een bestaande session.
(met een voorbeeld code)

Waarom die session, omdat mijn leraar me dat zo uitgelegd heeft.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-05 14:03

curry684

left part of the evil twins

Een session gebruik je voor dingen die de hele session lang nodig zijn, niet voor tijdelijke opslag van elementen die elders thuishoren (zoals in de page zelf in het geval van page-local data).

Een if(!IsPostBack) is standaard, die heb je nodig voor initiele initialisatie van je pagina, maar daar heb je zelden een 'else' voor nodig omdat je die dingen in de control-eigen events moet doen.

Geef je leraar overigens gerust een linkje naar Programming & Webscripting ;)

Professionele website nodig?


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:08

gorgi_19

Kruimeltjes zijn weer op :9

Een andere reden voor een session zou zijn als iemand bedenkt om je viewstate compleet te disablen, maar daar zie ik zo snel het nut niet van in, om eerlijk te zijn.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
gorgi_19 schreef op vrijdag 27 mei 2005 @ 14:24:
Een andere reden voor een session zou zijn als iemand bedenkt om je viewstate compleet te disablen, maar daar zie ik zo snel het nut niet van in, om eerlijk te zijn.
Als je niet wilt dat je viewstate naar de client gestuurd wordt kan je er natuurlijk gewoon beter voor zorgen dat alleen de nodige viewstate aanstaat en dan zorgt dat je viewstate in je Session of Cache opgeslagen wordt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:08

gorgi_19

Kruimeltjes zijn weer op :9

rwb schreef op vrijdag 27 mei 2005 @ 14:29:
[...]

Als je niet wilt dat je viewstate naar de client gestuurd wordt kan je er natuurlijk gewoon beter voor zorgen dat alleen de nodige viewstate aanstaat en dan zorgt dat je viewstate in je Session of Cache opgeslagen wordt.
Waarom zou je dat niet willen? Gevoelige informatie hoor je er sowieso niet in op te slaan en voor de grootte kan je ook HTTPCompression gebruiken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
curry684 schreef op vrijdag 27 mei 2005 @ 14:19:
Een session gebruik je voor dingen die de hele session lang nodig zijn, niet voor tijdelijke opslag van elementen die elders thuishoren (zoals in de page zelf in het geval van page-local data).

Een if(!IsPostBack) is standaard, die heb je nodig voor initiele initialisatie van je pagina, maar daar heb je zelden een 'else' voor nodig omdat je die dingen in de control-eigen events moet doen.

Geef je leraar overigens gerust een linkje naar Programming & Webscripting ;)
Ik ga van hem uit, hij heeft ondertussen 10 tallen jaren programmeer ervaring. (al snap ik dat zo iemand niet alles kan weten, en niet elke programmeer taal uit zijn hoofd kent / hoeft te kennen ;) ) Hij is een van de betere leraren bij ons op school, maar hij is nou een week pleite dus moet ik mijn problemen eff anders op zien te lossen.

Waarvoor heb je de postback nodig....als er geen else is dan...?? Het programma detecteerd dan wel of het wel of geen postback is, maar wat schiet je er dan mee op??

Edit
Ga eff proberen wat je me verteld heb....We zullen zien :P

private void ddlLeveranciers_SelectedIndexChanged(object sender, System.EventArgs e)

Dubbelklikken op dropdownlist, en hier code inzetten neem ik aan. Volgens mij heb ik dit al een keer geprobeert |:(

Edit
Dit werkt dus niet. Als ik onder bovenstaande methode dingen in textbox ga zetten vanuit dataset, gebeurt er gewoon niks bij het bladeren door de dropdownlist. Ben een beginner in het programmeren dus excuse moi als et stom klinkt ;)

[ Voor 37% gewijzigd door Supermario16 op 27-05-2005 19:53 ]


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
kick....?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je page load zal er meestal als volgt uit zien
C#:
1
2
3
4
5
6
7
8
private void Page_Load(.... )
{
    if( !IsPostBack )
    {
        DoDataBinding();
    }
    DoOtherStuff();
}

Het gaat er dus om dat je je databinding alleen de eerste keer dat de pagina geladen wordt doet ( Of eventueel in een event waar je data veranderd ).
Het ASP.NET framework zorgt er daarna bij alle postbacks voor dat dezelfde data weer aan het control zit.
Waarom zou je dat niet willen? Gevoelige informatie hoor je er sowieso niet in op te slaan en voor de grootte kan je ook HTTPCompression gebruiken.
Je hoort er idd geen gevoelige informatie in op te slaan. Maar als je niet alleen voor de Desktop ontwikkeld maar bijvoorbeeld ook voor mobiele devices of eventueel laptops die via GPRS werken dan wil je de grootte en de laadsnelheid zo veel mogenlijk bevorderen. Ook al gebruik je HTTPCompression kan je nog steeds data besparen door je viewstate op de server te houden. Je moet dan natuurlijk wel op een goede manier je ViewState bijhouden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Het is zoals rwd al zei. Als de pagina geen postback is moet je de data binden aan de controls. Wat jij doet is dus de data binden. Vervolgens plaats je in een sessie de geselecteerde index van ddlLeveranciers. Die zal in het begin ALTIJD 0 zijn. Als je dan de pagina terug op roept komt je code in het else blok terecht waar je de waarde terug uit die sessie haalt en tegen de ddl zegt dat hij die waarde moet selecteren. Met gevolg dat selected index van je ddl 0 is.

Hier de code die jij had:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Page_Load(object sender, System.EventArgs e)
{
    // Put user code to initialize the page here
            
    if (!IsPostBack)
    {                
        adptLeveranciers.Fill(dsLeveranciers1);
        Session["dsLeveranciers1"] = dsLeveranciers1;
        Session["ddlLeveranciers"] =ddlLeveranciers.SelectedIndex;
    }
    else
    {
        dsLeveranciers1 = (dsLeveranciers) Session["dsLeveranciers1"];
                                  ddlLeveranciers.SelectedIndex = (int) Session["ddlLeveranciers"];
    }
    ddlLeveranciers.DataBind(); // Binden van de DDL
                
}


Laat die sessies gewoon achterwege. Zeker dat van die ddl.seslectedindex = sessie()

Dat zou ongeveer dit moeten worden:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void Page_Load(object sender, System.EventArgs e)
{
    // Put user code to initialize the page here
            
    if (!IsPostBack)
    {
   
        adptLeveranciers.Fill(dsLeveranciers1);
        ddlLeveranciers.DataBind(); // Binden van de DDL
    }
    else
    {
        toonHuidigeLeverancier(ddlLeveranciers.SelectedIndex);
    }
    
                
}

  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
Ik snap iig wat je bedoeld. Heb hierop weer een volgend probleem. (heb de code aan de laatste post aangepast)

Als er een postback is geweest, is de dataset leeg. (there is no row at position 0) Dit lijkt mij logisch omdat het progamma niet weet welke dataset hij voor de postback moet hebben(?) Zou mijn leraar hiervoor die sessie hebben gebruikt? (hier ben ik ook al vaker tegen aangelopen, ik moet de dataset opnieuw vullen in de postback. Dit kan niet de bedoeling zijn ofwel?)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:08
Als je de dataset in de sessie bewaard, dan hoef je 'm niet op te vullen na een postback toch ?
Je moet 'm dan gewoon uit de Session halen.

https://fgheysels.github.io/


  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Als je het goed doet, heb je waarschijnlijk geen sessie nodig. De dropdownlist wordt na de postback gevuld met gegevens uit de viewstate, evenals de controls met de gegevens van de geselecteerde leverancier. Pas op de SelectedIndexChanged event van de dropdownlist, haal je de betreffende leverancier op uit de database en vul je de leveranciergegevens opnieuw in.

Ongeveer als onderstaande:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
protected DropDownList Leveranciers;

protected TextBox LeverancierNaam;
protected TextBox LeverancierAdres;

override protected void OnInit(EventArgs e)
{
    this.Load += new System.EventHandler(this.Page_Load);
    
    Leveranciers.SelectedIndexChanged += 
        new EventHandler(Leveranciers_SelectedIndexChanged);

    base.OnInit(e);
}

private void Page_Load(object sender, System.EventArgs e)
{
    if (!IsPostBack)
    {
        Leveranciers.DataSource = GetLeveranciers();
        Leveranciers.DataValueField = "ID";
        Leveranciers.DataTextField = "Naam";

        Leveranciers.DataBind();
    }
}

private void Leveranciers_SelectedIndexChanged(object sender, EventArgs e)
{
    int leverancierID = int.Parse(Leveranciers.SelectedValue);

    DataRow leverancier = GetLeverancier(leverancierID);
    LeverancierNaam.Text = (string) leverancier["Naam"];
    LeverancierAdres.Text = (string) leverancier["Adres"];
}

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 10:04
Verwijderd schreef op zondag 29 mei 2005 @ 14:42:
Dat zou ongeveer dit moeten worden:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void Page_Load(object sender, System.EventArgs e)
{
    // Put user code to initialize the page here
            
    if (!IsPostBack)
    {
   
        adptLeveranciers.Fill(dsLeveranciers1);
        ddlLeveranciers.DataBind(); // Binden van de DDL
    }
    else
    {
        toonHuidigeLeverancier(ddlLeveranciers.SelectedIndex);
    }
    
                
}
Dat werkt niet want in je Page_Load is je selectedindex nog niet op de goede waarde gezet door het framework.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void ddlLeveranciers_SelectedIndexChanged(object sender, System.EventArgs e)
{
    int LeveranciersID = ddlLeveranciers.SelectedIndex;
    DataRow leverancier = dsLeveranciers1.Tables["Leveranciers"].Rows[LeveranciersID];

    txtEmail.Text = leverancier["Leveranciersemail"].ToString();
    txtNummer.Text = leverancier["Leveranciersnummer"].ToString();
    txtTelefoon.Text = leverancier["LeveranciersTelefoon"].ToString();
    txtTussenV.Text = leverancier["Leverancierstussenvoegsel"].ToString();
    txtRoepnaam.Text = leverancier["Leveranciersroepnaam"].ToString();
    txtVoorvoegsel.Text = leverancier["Leveranciersvoorletters"].ToString();
    txtPostcode.Text = leverancier["Leverancierspostcode"].ToString();
    txtAchternaam.Text = leverancier["Leveranciersachternaam"].ToString();
    txtAdres.Text = leverancier["Leveranciersadres"].ToString();
    txtPlaats.Text = leverancier["Leveranciersplaats"].ToString();
}


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
override protected void OnInit(EventArgs e)
{
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    // Onchange Event
    this.Load += new System.EventHandler(this.Page_Load); 
     
                ddlLeveranciers.SelectedIndexChanged +=  
        new EventHandler(ddlLeveranciers_SelectedIndexChanged); 

    InitializeComponent();
    base.OnInit(e);
}


code:
1
2
3
4
5
6
7
8
if (!IsPostBack)
{       
        ddlLeveranciers.DataSource = dsLeveranciers1.Tables["Leveranciers"];
        ddlLeveranciers.DataValueField = "Leveranciersnummer";
        ddlLeveranciers.DataTextField = "Leveranciersnaam";
        adptLeveranciers.Fill(dsLeveranciers1);
        ddlLeveranciers.DataBind();
}


De 3 stukken code waar we over praten. Nu vul ik de dataset alleen als er GEEN postback is. Als er wel een postback is, hoe weet het programma dan waar hij data vandaan moet halen??
("There is no row @ position X")

Daarbij komt dat de pagina ook helemaal niks lijkt te doen als ik met de dropdownlist ga spelen...

Volgens mij ben ik iets vergeten. Iemand had het eerder over een autopostback? Moet deze niet plaatsvinden als de selected index veranderd??

[ Voor 7% gewijzigd door Supermario16 op 30-05-2005 16:31 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet wel degelijk elk request je data ophalen ( of uit je database of ergens anders vandaan ) maar je moet het alleen in de eerste request binden

dus als volgt

C#:
1
2
3
4
5
6
7
8
9
private void Page_Load( ... )
{
    DataTable dtLeveranciers = GetLeveranciersData();
    if( !IsPostBack )
    {
        ddlLeveranciers.DataSource = dtLeveranciers;
        ddlLeveranciers.DataBind();
    }
}


Je kan de data die je dan in je Page_Load opgehaald hebt natuurlijk ook ergens anders in je pagina gebruiken.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Supermario16 schreef op maandag 30 mei 2005 @ 16:29:

Daarbij komt dat de pagina ook helemaal niks lijkt te doen als ik met de dropdownlist ga spelen...

Volgens mij ben ik iets vergeten. Iemand had het eerder over een autopostback? Moet deze niet plaatsvinden als de selected index veranderd??
De bedoeling is dat je twee queries hebt. De eerste query gebruik je om de dropdownlist te binden:
code:
1
SELECT Leveranciersnummer, Leveranciersnaam FROM Leveranciers
Dit hoef je alleen de eerste keer te doen (dus in !IsPostBack); deze gegevens komen in de viewstate van de pagina en worden daar bij de postback weer uitgehaald. Als je geen extra "submit" knop in je pagina wilt, dien je inderdaad in de aspx de AutoPostBack attribuut van de dropdownlist op true te zetten.

De tweede query is om de gegevens van de geselecteerde leverancier op te halen:
code:
1
SELECT * FROM Leveranciers where Leveranciersnummer=?

Deze query gebruik je in de SelectedIndexChanged event van de dropdownlist. Het leveranciersnummer is de SelectedValue van de dropdownlist; dus niet:
C#:
1
int LeveranciersID = ddlLeveranciers.SelectedIndex;

maar:
C#:
1
2
int leveranciersID = int.Parse(ddlLeveranciers.SelectedValue);
DataRow leverancier = HaalLeverancierOpUitDatabase(leveranciersID);


Edit: zie ook mijn vorige reply

[ Voor 5% gewijzigd door TlighT op 30-05-2005 17:15 ]


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
Het maakt inprincipe niet uit of je gebruik maakt van de index van de dropdownlist, icm de row waarde in de tabel, of dat je gebruik maakt van de value van de dropdownlist, icm leveranciersID. ;)

Waarom eigenlijk ineens die query's? Als ik de goede datarow uit de dataset haal kan ik hier toch ook zonder queries gegevens uitlezen??

Ik heb nu op het formulier een data adapter gemaakt naar de tabel, met hierop een dataset. Hier hoef ik toch geen query op uit te voeren?? Ik dacht dat die query ervoor was dat als je uit verschillende tabellen data wilde halen, en deze in 1 data adapter / dataset wilde zetten.

En dan nog zit ik met het probleem, waar laad ik die dataset? Want zoals ik het nu snap, maak je van die query's een data adapter, en hiervan weer een dataset. (die ik dus beide al heb)
dsLeveranciers
adptLeveranciers


Edit:

Nu werkt het dus gewoon. Wat ik heb gedaan is de dataset opnieuw gevult in de methode selectedindexchange. Maar nu vult hij dus iedere keer als ik een andere leverancier wil zien, de dataset. Dit wilde ik dus niet hebben. Daarvoor zal mijn leraar ook wel die sessie hebben gebruikt, voor die dataset. Hier moeten later namelijk ook wijzigingen in aangebracht kunnen worden.

[ Voor 18% gewijzigd door Supermario16 op 31-05-2005 07:57 ]


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
Kick /

Als ik vanuit school op de site probeer te komen:

//

Server Error in '/SchoolTaak1' Application.
--------------------------------------------------------------------------------

Access is denied.
Description: An error occurred while accessing the resources required to serve this request. You might not have permission to view the requested resources.

Error message 401.3: You do not have permission to view this directory or page using the credentials you supplied (access denied due to ACLs). Ask the Web server's administrator to give you access.


Probeer ik dit thuis, krijg ik netjes een Login scherm voor wachtwoord + gebruikersnaam. Doe ik hier iets fout...of is school met novell etc aan het kl*ien geweest?

[ Voor 5% gewijzigd door Supermario16 op 31-05-2005 14:30 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:08

gorgi_19

Kruimeltjes zijn weer op :9

Ik krijg hier ook netjes een login scherm hoor :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Is die server van de school zelf?

Ik denk dat ze integrated windows authentication gebruiken daar in't school. Dat kan alleen als je in het netwerk bent aangemeld. Anders krijg je idd zo'n loginscherm. Dit heeft dus niets met je website te maken maar met de server of browserinstellingen die je gebruikt. Probeer eens met FireFox ofzo. Of zoek in IE een optie om integrated windows authentication uit te zetten.

tools -> internet options -> advanced -> secirity -> Enable integrated windos authentication (requires restart) uitvinken

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Modbreak:Als je binnen 24 uur wat toe te voegen hebt aan je topic en je bent zelf de laatste poster, edit dan je post in plaats van opnieuw te posten.
Als ik vanuit school op de site probeer te komen:

http://84.30.198.4:8082/SchoolTaak1/index.aspx

Server Error in '/SchoolTaak1' Application.
--------------------------------------------------------------------------------

Access is denied.
Description: An error occurred while accessing the resources required to serve this request. You might not have permission to view the requested resources.

Error message 401.3: You do not have permission to view this directory or page using the credentials you supplied (access denied due to ACLs). Ask the Web server's administrator to give you access.


Probeer ik dit thuis, krijg ik netjes een Login scherm voor wachtwoord + gebruikersnaam. Doe ik hier iets fout...of is school met novell etc aan het kl*ien geweest?
Ik krijg die foutmelding pas op het moment dat ik op cancel druk. Op de een of andere manier zal je browser die auth onderdrukken. Trek de instellingen van je browser dus maar even na.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
-NMe- schreef op dinsdag 31 mei 2005 @ 13:10:
[...]

Modbreak:Als je binnen 24 uur wat toe te voegen hebt aan je topic en je bent zelf de laatste poster, edit dan je post in plaats van opnieuw te posten.



[...]

Ik krijg die foutmelding pas op het moment dat ik op cancel druk. Op de een of andere manier zal je browser die auth onderdrukken. Trek de instellingen van je browser dus maar even na.
Sorry van kicks. Die fout kreeg ik op school, dus zal het inderdaad wel aan de IE instellingen daar liggen. Thx voor et reageren. Ga nu verder met de volgende pagina's, als het niet lukt weet ik iig dat ik hier een hoop verder kom :)

  • Supermario16
  • Registratie: Mei 2004
  • Laatst online: 08:16
Ik heb nu bezig met het toevoegen van systemen, hiervoor hoeft alleen maar een configuratienummer aan een systeemnummer gekoppeld te worden. Hierbij krijg ik de volgende foutmelding:

Invalid column name 'Gebruikersnummer'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'Gebruikersnummer'.

Source Error:


Line 50: if (!IsPostBack)
Line 51: {
Line 52: adptSystemen.Fill(dsSystemen1);
Line 53: adtpConfig.Fill(dsConfiguratie1);
Line 54:


Source File: c:\inetpub\wwwroot\schooltaak1\systementoevoegen.aspx.cs Line: 52

Dit komt (denk ik) doordat ik eerst een rij "Gebruikersnummer" in die tabel had, maar deze later heb weggehaald. (deze was niet nodig achteraf)

Wat ik geprobeert heb:
Alle datasets + dataadapters weggooien + opnieuw aanmaken. Had geen nut. Op internet al wat gezocht maar dit was ook niet 100% wat ik moest hebben.

Ik heb het gevoel dat het programma naar de rij "gebruikersnummer" zoekt, maar deze niet kan vinden. (?)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:08
Niet naar de rij, maar naar de column.
Het SQL Statement dat gebruikt wordt door jouw data-adapter om die dataset op te vullen, zal nog een verwijzing bevatten naar 'gebruikersnummer'.

Naja, da's iets waar je eigenlijk best wel zelf moet kunnen achter komen, als je een beetje logisch nadenkt, en als je weet wat die SqlDataAdapter eigenlijk doet.
Dit topic begint ook een beetje meer en meer op 'debug samen met mij' te lijken, en dat is niet de bedoeling.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.