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


Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-24 16:42:58 - Benny Jonsson, i forum asp.net generellt, Tråden har 15 Kommentarer och lästs av 1151 personer

Jag har problem med att lägga till flera usercontrols _dynamiskt_ på en sida och få postbacks att inte ta bort kontrollerna igen.

Här finns en artikel om hur man löser fallet när man från början vet hur många usercontrolers man kommar att ha på sin aspx-sida.

http://www.ftponline.com/vsm/2003_04/magazine/columns/aspnet/default_pf.aspx

Men som sagt hur löser jag att lägga till ett okänt antal usercontrols dynamiskt där postback fortfarande fungerar?


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-24 17:04:27 - Johan Normén

Lägger till INamingContainer om du inte redan gjort det.

Mvh johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 11:15:53 - Benny Jonsson

<code>
Public Class test2
Inherits System.Web.UI.UserControl
Implements INamingContainer
</code>

Ger följande fel:
Interface 'System.Web.UI.INamingContainer' is already implemented by base class 'System.Web.UI.TemplateControl'.

Altså det är ju redan implementerat för UserControl.


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 11:52:08 - Johan Normén

Hum Just.

Hade precis denna frågan för två dagarsedan, sedan löste det sig för honom, pga att cachen var dum.
Gör en granskning så VS .Net inte tappat even tlyssnarna. += syntaxen. Den kan lätt få för sig att ta bort dem. :-(

Mvh jOhan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 12:44:10 - Benny Jonsson

Det handlar inte om att eventlyssnaren faller bort. Utan att dynamiskt tillagda kontroller tas bort vid postback.

/Benny


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 12:53:35 - Johan Normén

Jaha...

hum.. men det skall de inte göra för staten håller kvar dem. Kör du Clear på controls eller nått?
Eller binder du datan för den control du addad controller till?

Mvh Johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 12:57:47 - Benny Jonsson

Problemet är beskrivet i ariklen som jag skickade med i första inlägget och där finns även en lösning som funkar om man vet hur många controller man skall lägga till. Men eftersom jag inte bara skall lägga till en controll utan ett okänt antal controller så fungerar inte den lösningen fullt ut utan bör antagligen byggas på på något sätt.

/Benny


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 13:37:00 - Johan Normén

ok. Skall ta en koll på artikeln...


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 13:46:46 - Johan Normén

Jag måste be dig beskriva tydligare vad du vill göra.
Jag har idag en sida där jag dynsmikt laddar in x antal user controls samt custom control och de återstå vid Post Back. med x antal menar jag över 10 st.

Du skriver detta:
"Men som sagt hur löser jag att lägga till ett okänt antal usercontrols dynamiskt där postback fortfarande fungerar? " <-- vad exakt menar du med där postback fortfarande fungerar? Postback gör du hela tiden så den fungerar jämt.


Mvh Johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrols

Postades av 2004-08-25 14:34:05 - Benny Jonsson

Skapa ett projekt och lägg till en usercontrol som heter WebUserControl1.ascx

Klistra in koden nedan i WebForm1.aspx och kör programmet.

När man klickar på knappen så försvinner usercontrollern. Just detta problem löses i artiklen ovan genom att man lägger till en usercontrol i en "host" som håller i usercontrollern.

<code>
Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents Button1 As System.Web.UI.WebControls.Button

'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not Page.IsPostBack Then
'Detta funkar inte eftersom det inte är ett "riktigt objekt"
FindControl("Form1").Controls.Add(New WebUserControl1)

'Utan man får liksom mer trycka in koden så här
FindControl("Form1").Controls.Add(Page.LoadControl("~/WebUserControl1.ascx"))
End If

End Sub
End Class
</code>


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontrol

Postades av 2004-08-25 15:36:27 - Johan Normén

Benny,

Aaaa nu ser jag, du har kodat din lösning lite speciellt.
<code>
FindControl("Form1").Controls.Add(Page.LoadControl("~/WebUserControl1.ascx"))
</code>

Du måste inte leta upp Form1.
Gör så här. Skapa en placeholder:
<asp:palceholder id=Holder.../>

i Page_Load addar du din kontoll till placeholdern.

Holder.Add(Page.LoadControl(......));

Så skall det nog lösa sig. Du kan även lägga kontrollen direkt i Page.Controls.Add men då vet du inte riktigt vart den hamnar på sidan.

Mvh Johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontro

Postades av 2004-08-25 16:59:10 - Benny Jonsson

Nej,
den försvinner fortfarande vid postback.

Jag har bytt ut sättet att lägga till kontrollen....
<code> PlaceHolder1.Controls.Add(Page.LoadControl("~/WebUserControl1.ascx"))</code>
... står det nu

Jag tror nog attt du inte kör någon <code> If Not Page.IsPostBack Then </code> utan lägger till samma kontroll var gång du kör postback.

/Benny


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercontr

Postades av 2004-08-25 17:25:17 - Johan Normén

Benny,

Ja det har du rätt i. Såg inte att du hade den.
Dock gör det inte så mkt att du laddar in dem igen, dess viewstate skall vara kvar. Om det är den du är rädd att tappa?

Mvh Johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercont

Postades av 2004-08-31 09:33:24 - Benny Jonsson

Det var ju problemet som stod beskrivet i artiklen jag postade i mitt första inlägg som jag ville lösa. Och att viewstate är kvar vet jag.

/Benny


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda usercon

Postades av 2004-09-01 12:47:07 - Johan Normén

Benny,

jag såg aldrig riktigt problemet... kanske för att jag inte ser det som ett problem?

Mvh Johan


Svara

Sv: Postback (tar bort usercontrols) vid dynamiskt tillagda userco

Postades av 2004-09-02 11:31:09 - Benny Jonsson

Jag ville gör an snygg lösning men får väl gör lite hack alla asp i stället för en objektorienterad lösning.
Nej den hör tråden lär nog inte lösas :(


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 169
27 953
271 705
536
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