[ASP.NET] Reload frame met webform gaat niet

Pagina: 1
Acties:

  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
In een frame laad ik via SQL in een datagrid hyperlinks. De hyperlinks bevatten een verwijzing naar een ander frame met een aspx file met een ID als parameter (de primary key dus, een GUID).

Deze frame is een maincontroller die alle request eerst opvangt. Die frame is voor de gebruiker niet te zien. Vanuit die aspx file op die frame sluis ik een event door naar de frame waar content in wordt gezet, dit doe ik door de volgende aanroep:

Response.Redirect("MainContent.aspx", false);

Op de frame met MainContent.aspx heb ik een label gezet. In de Page_load wil ik als test de datum/tijd zetten om te zien of de maincontroller de events van de hyperlinks goed opvangt. Echter: de debugger laat zien dat de page_load plaatsvindt maar de label wordt niet ververst, waar ligt dat aan ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 dol op gokken...

je hebt geen Page.IsPostback gebruikt in je Page_Load.

En nu serieus; er zit een bug in je code. Waar? Ergens. Wil je het exacter weten, dan zul je met de debugger er langs moeten lopen waar wanneer wat gevuld is / wordt en met welke waarden.

In verhaaltjesvorm zonder code is er weinig zinnigs over te zeggen.

[ Voor 61% gewijzigd door gorgi_19 op 01-04-2004 20:10 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:09:
* gorgi_19 dol op gokken...

je hebt geen Page.IsPostback gebruikt in je Page_Load.

En nu serieus; er zit een bug in je code. Waar? Ergens. Wil je het exacter weten, dan zul je met de debugger er langs moeten lopen waar wanneer wat gevuld is / wordt en met welke waarden.

In verhaaltjesvorm zonder code is er weinig zinnigs over te zeggen.
oke, dit is de webform code in de Page_load van het linkerframe

code:
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
DataSet ds = new DataSet();

SqlConnection lSQLConnection = new SqlConnection(GlobalConnections.SQLConnHomepagePP);

lSQLConnection.Open();

SqlDataAdapter lSQLDataAdapter = new SqlDataAdapter("select * from section order by SectionPageNr", lSQLConnection);
            
lSQLDataAdapter.Fill(ds, "Section");
            
DataView lDataView = new DataView(ds.Tables["Section"]);

DataGridMainSections.AutoGenerateColumns = false;
DataGridMainSections.DataSource = lDataView;
            
HyperLinkColumn lMainSection = new HyperLinkColumn();

lMainSection.DataTextField = "SectionName";
lMainSection.DataNavigateUrlField = "SectionID";
lMainSection.DataNavigateUrlFormatString = "mainController.aspx?msid={0}";
lMainSection.Target = "FrameController";
                        

DataGridMainSections.Columns.Add(lMainSection);
DataGridMainSections.DataBind();

lSQLConnection.Close();


Het event wordt bij een klik van een hyperlink verstuurd naar mainController.aspx

code:
1
Response.Redirect("MainContent.aspx", false);


In MainContent.aspx webform wordt in de page_load een label gezet als test:


code:
1
2
3
4
if (!IsPostBack)
{
LabelContent.Text = System.DateTime.Now.TimeOfDay.ToString();
}

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

Gebruik je toevallig Outputcache in je .aspx pagina?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:19:
Gebruik je toevallig Outputcache in je .aspx pagina?
Ik ben een redelijke newbie op .NET gebied, ik heb nog geen specieke performance issues toegepast (waaronder caching), het is allemaal nog in defaults van de webform.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

DrDelete schreef op 01 april 2004 @ 20:22:
[...]


Ik ben een redelijke newbie op .NET gebied, ik heb nog geen specieke performance issues toegepast (waaronder caching), het is allemaal nog in defaults van de webform.
8)7 Dit schiet zo niet op..

Wat is de eerste regel van het bijbehorende .aspx bestand.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:24:
[...]

8)7 Dit schiet zo niet op..

Wat is de eerste regel van het bijbehorende .aspx bestand.
ik heb alle code hierboven al gepost hoor!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

DrDelete schreef op 01 april 2004 @ 20:26:
[...]


ik heb alle code hierboven al gepost hoor!
Erhm....
ik gok dat dit van

bestandsnaam.aspx.cs was (de code)

ik wilde graag de eerste 2 / 3 regels zien van

bestandsnaam.aspx

Verder zei je dat je frames gebruikte? Een Response.Redirect werkt alleen naar de pagina in hetzelfde frame.
Laat anders het voorbeeld eens zien (online)

[ Voor 22% gewijzigd door gorgi_19 op 01-04-2004 20:28 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:27:
[...]

Erhm....
ik gok dat dit van

bestandsnaam.aspx.cs was (de code)

ik wilde graag de eerste 2 / 3 regels zien van

bestandsnaam.aspx

Verder zei je dat je frames gebruikte? Een Response.Redirect werkt alleen naar de pagina in hetzelfde frame.
Laat anders het voorbeeld eens zien (online)
Elke stuk code (in mijn eerdere posting) is een aparte aspx file.

Ik heb er 3:

- MainLeft.aspx : menu met hyperlinks
- MainTop.aspx : logo met een datagrid voor submenu items
- MainContent.aspx : opvul frame met inhoud van de webpagina.
- MainController.aspx : via deze webform sluis alle clicks van het hoofdmenu (MainLeft) en het submenu (MainTop) door. De maincontroller heeft dan genoeg info om de content te bepalen en doet een redirect naar het MainContent.aspx webform.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

Maar gebruik je nu ook een HTML-frames pagina of niet?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:34:
Maar gebruik je nu ook een HTML-frames pagina of niet?
Als opstart file is een index.html. Daarmee heb ik de de frames gemaakt en daarin de 4 webforms geplaatst.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

Nu snap ik alleen nog niet
Het event wordt bij een klik van een hyperlink verstuurd naar mainController.aspx

code:
1
 Response.Redirect("MainContent.aspx", false);
Aangezien:
1. Een Response.Redirect een Statuscode 302 returned en geen redirect doet naar een ander frame
2. Je met hyperlinks werkt en deze redirect dus normaliter niet bereikt wordt.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
Ik denk dat je zowiezo beter je een index.aspx gebruikt ipv een index.htm.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:00

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 01 april 2004 @ 20:42:
Ik denk dat je zowiezo beter je een index.aspx gebruikt ipv een index.htm.
* gorgi_19 weet het eik wel zeker..

Zie ook: [rml]EfBe in "[ C#] frames met 3 webforms vuurt 3x Sess..."[/rml]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
gorgi_19 schreef op 01 april 2004 @ 20:40:
Nu snap ik alleen nog niet

[...]

Aangezien:
1. Een Response.Redirect een Statuscode 302 returned en geen redirect doet naar een ander frame
2. Je met hyperlinks werkt en deze redirect dus normaliter niet bereikt wordt.
de code die je aanhaalt komt van de maincontroller. De linkerframe is gevuld met hyperlinks in een datagrid. Daar heb ik "mainController.aspx?msid={0}" als DataNavigateUrlFormatString gezet. Als de user klikt dan wordt het controllerframe herladen met de msid als waarde (kan ik opvragen via request). De controller moet weer redirect doen (omdat de frame van die controller onzichtbaar is en alleen een verzamelpunt is).

Het enige waar ik geïnteresseerd in ben is waarom de label niet ververst wordt in de pageload van de maincontent.aspx file. Het gekke is dat de debugger daar wel komt! De waarde wordt gezet maar ik zie de datum/tijd in de label niet geupdated worden...

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
Vervang eens
code:
1
System.DateTime.Now.TimeOfDay.ToString()


door
code:
1
System.DateTime.Now.ToString()

https://fgheysels.github.io/


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
whoami schreef op 01 april 2004 @ 20:49:
Vervang eens
code:
1
System.DateTime.Now.TimeOfDay.ToString()


door
code:
1
System.DateTime.Now.ToString()
helaas... nog steeds geen verversing. Ik heb trouwens mijn index.html omgezet naar een aspx file, ook dat hielp niet.

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
En wat als je ipv Label.Text = .... die datum/tijd eens mbhv response.write output?

https://fgheysels.github.io/


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 26-05 22:12
whoami schreef op 01 april 2004 @ 20:56:
En wat als je ipv Label.Text = .... die datum/tijd eens mbhv response.write output?
ik heb de label verwijdert en response.write er in gezet: helpt ook niet, elke keer de datum/tijd van de 1e opstart.

Verwijderd

Vraag eens een tweede request aan, komt er dan te staan wat je wil ??
Met andere woorden: loopt ie een request achter ??
Pagina: 1