Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


dynamiska kontroller ASP.Net C#

Postades av 2005-11-13 01:51:00 - Morgan Karlsson, i forum c# (c-sharp), Tråden har 5 Kommentarer och lästs av 738 personer

Har ett jobbigt problem som jag inte vet hur jag ska komma runt, har inte hittat något svar här i forumet heller...
Jag skapar tre kontroller dynamiskt. två knappar och en label. När jag klickar på den ena knappen så ska värdet i labeln öka och när jag klickar på den andra så ska det minska. om jag lägger ut alla i designläget så fungerar det kanon. men när jag skapar dom via kodläget så inträffar följande fel:
När jag startar sidan och klickar på t.ex.ökaknappen så laddas sidan om men inget händer, klickar jag på samma knapp igen så börjar värdet i labeln att öka. om jag nu klickar på minska knappen så ökar labeln i värde igen, och inte förens nästa gång som jag klickar på minska knappen så minskar värdet. Koden ser ut så här:

		protected System.Web.UI.WebControls.Panel Panel1;
		int i = 0;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			
			if(!IsPostBack)
			{
				i = 10;
				this.ViewState["getInt"] = i;
			}
			else
			{
				i=(int)ViewState["getInt"];
			}

			createControls();
		}

		private void createControls()
		{
			Button btn1 = new Button();
			btn1.Text = "upp";
			btn1.Click+=new EventHandler(up_Click);
			Panel1.Controls.Add(btn1);

			Button btn2 = new Button();
			btn2.Text = "ner";
			btn2.Click+=new EventHandler(down_Click);
			Panel1.Controls.Add(btn2);

			Label lbl = new Label();
			lbl.Text = i.ToString();
			Panel1.Controls.Add(lbl);
		}

		private void up_Click(Object sender,EventArgs e)
		{
			i++;
			this.ViewState["getInt"] = i;
		}
		private void down_Click(Object sender,EventArgs e)
		{
			i--;
			this.ViewState["getInt"] = i;
		}


hur ska man göra för att få det att fungera korrekt???

//Morgan Karlsson


Svara

Sv: dynamiska kontroller ASP.Net C#

Postades av 2005-11-13 09:27:25 - Jon Lindeheim

Verkar som lbl inte uppdateras vid varje postback. Om du helt enkelt sätter


private void up_Click(Object sender,EventArgs e)
{
   i = (int)ViewState["getInt"];
   i++;
   ViewState["getInt"] = i;
   lbl.Text = i.ToString();
}


Svara

Sv:dynamiska kontroller ASP.Net C#

Postades av 2005-11-13 11:32:18 - Morgan Karlsson

mmm har provat det. Eftersom inte c# vet om att "lbl" finns så har jag gjort så att jag anropar "createControls" efter varja klick på en knapp, för att rita upp alla kontroller igen. I "createControls" har jag nu lagt till "Panel1.Controls.Clear();" annars så blev det dubbla uppsättnigar knappar o lablar.
Detta resulterar i föjande. Fösta klicket "öka"-knapppen, fungerar kanon. Andra klicket på samma knapp, ingenting händer. Tredje klicket på samma knapp, den ökar. o så håller den på varannangång öka och ingenting. Samma gäller såklart för "minska".
Fast felet att den går åt fel håll vid första klicket på en ny knapp är borta!


Svara

Sv: dynamiska kontroller ASP.Net C#

Postades av 2005-11-15 15:35:09 - Morgan Karlsson

Hepp...
Har byggt runt problemet, fick använda mig av "fasta" kontroller, inte lika snyggt. men, men....


Svara

Sv:dynamiska kontroller ASP.Net C#

Postades av 2005-11-18 11:18:23 - Fredrik Klarqvist

Om problemet är att viewstaten inte laddas in i kontrollerna så prova att anropa "CreateControls" från init-eventet istället för i load.


Svara

Sv: dynamiska kontroller ASP.Net C#

Postades av 2005-11-19 00:21:29 - Oskar Johansson

Problemet är att click-eventena triggas efter att kontrollerna har skapats. Dvs:

viewstate = 5
skapa kontrol
text = 5
click-event: viewstate -= 1
viewstate = 4
---
ny sida
---
viewstate = 4
text = 4
click-event: viewstate += 1
viewstate = 5

Hänger du med på varför det blir "en sida för sent"?


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 812
27 960
271 761
507
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies