[ASP.NET] Webform refreshed niet

Pagina: 1
Acties:

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Ik heb een webform die wat gegevens in een SQL database wijzigt, nadat de wijziging klaar is verschijnt het overzicht van records weer op het scherm. Als vanuit dat overzicht weer op bewerken geklikt wordt verschijnt het webform met de oude gegevens op het scherm, en lijkt het alsof er niet ge-update is. Als je daarna met de rechtermuisknop op vernieuwen klikt verschijnt de huidige data in het formulier en blijkt dat de wijziging wel doorgevoerd is in MSSQL.

Hoe kan dit, normaal gesproken als ik een zelfde functie uitvoer met PHP of met ASP krijg ik altijd de meest recente data in een formulier te zien. Komt iemand dit bekend voor, of beter nog, weet iemand hier een oplossing voor ??

Alvast bedankt,

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
Ben je wel zeker dat die refresh-functie uitgevoerd wordt?
Heb je ze nergens in een:
code:
1
2
3
if( !this.IsPostBack)
{
}

staan?

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 25-08 12:28

Janoz

Moderator Devschuur®

!litemod

Wordt de pagina wel opnieuw geladen? Dan zou het namelijk een caching probleem kunnen zijn.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Ik heb nergens een !this.IsPostBack staan. Het webform is gemaakt met Dreamweaver MX. De update gebeurt met een MM:Update onderdeel.
De pagina wordt geladen door vanuit het overzicht op bewerken te klikken. Deze verwijst naar een bewerken.aspx?id=x bestand.

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 24-08 12:52
(jarig!)
Check eens of er in de database ook de nieuwe gegevens staan. Door alleen op 'refresh' te klikken, onthoudt hij de ingevulde waarden dmv de viewstate.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:22

mulder

ik spuug op het trottoir

DataBind?

oogjes open, snaveltjes dicht


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
De gegevens staan ook correct in de database na de update.
DataBind ???? Ok hoe moet ik dat toepassen. Iets zoals:
if (!this.IsPostBack) {
DataBind();
}

Tenminste zoiets heb ik al eens eerder gezien vandaag, maar wat doet DataBind ??
Ik ben een totale newbie met .NET, en de opdracht die ik nu doe is ook een eenmalige actie, ga voortaan m'n webapps weer op de oude vertrouwde manier doen.

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 24-08 12:52
(jarig!)
Met DataBind() kun je een datasource (table, collection, etc.) koppelen aan een webcontrol (dropdown bijv.)
Dan vult hij die dropdown automatisch met alle gegevens in de datasource.
Maar ik denk niet dat dat hier een probleem is.

Kun je anders even wat code posten of zo ?

Ik zou als ik jou was toch wat meer proberen met .Net dan het meteen al na de eerste poging op te geven. Uiteindelijk wil je niet meer anders. :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
wustenveld schreef op 15 januari 2003 @ 18:06:
De gegevens staan ook correct in de database na de update.
DataBind ???? Ok hoe moet ik dat toepassen. Iets zoals:
if (!this.IsPostBack) {
DataBind();
}

Tenminste zoiets heb ik al eens eerder gezien vandaag, maar wat doet DataBind ??
Ik ben een totale newbie met .NET, en de opdracht die ik nu doe is ook een eenmalige actie, ga voortaan m'n webapps weer op de oude vertrouwde manier doen.


Misschien moet je je maar eens verdiepen in .NET, en die DreamWeaver laten varen.

DataBind()
code:
1
2
DataGrid1.DataSource = DataSet1;
DataGrid1.DataBind();

Die databind gaat er dus voor zorgen dat die DataGrid1 de gegevens die in de dataset staan, en die dus de datasource is voor die DataGrid gaat gaan tonen.

https://fgheysels.github.io/


Verwijderd

post effe de functie die je dataset vult en waar die opgeroepen wordt.

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Hier is de code van de recordset zoals die geopend wordt:

<MM:DataSet
id="rs"
runat="Server"
IsStoredProcedure="false"
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_avensus") %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_avensus") %>'
CommandText='<%# "SELECT * FROM dbo.pages WHERE id = @id" %>'
Debug="true"
>
<Parameters>
<Parameter Name="@id" Value='<%# IIf((Request.QueryString("id") <> Nothing), Request.QueryString("id"), "") %>' Type="Int" />
</Parameters>
</MM:DataSet>
<MM:PageBind runat="server" PostBackBind="true" />

Deze staat boven in de pagina

Het webform is als volgt:
<form method="post" name="form1" runat="server">
<table>
<tr valign="baseline">
<td nowrap align="right"><strong>Titel:</strong></td>
<td> <asp:textbox id="titel" text='<%# rs.FieldValue("titel", Container) %>' TextMode="SingleLine" Columns="32" runat="server" /> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right" valign="top"><strong>Bodytekst:</strong></td>
<td><RTB:RICHTEXTBOX id="bodytekst" Text='<%# rs.FieldValue("bodytekst", Container)%>' EditorHtmlModeCss="../../style.css" runat="server"></RTB:RICHTEXTBOX></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Update Record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="theID" value="<%# rs.FieldValue("id", Container) %>">
</form>

Ik ga me in ieder geval niet verder verdiepen in .NET. Zoals ik al zei is dit een eenmalige actie geweest voor een klant van ons die zogenaamd gespecialiseerd is in Microsoft producten. Ze weten alleen niet hoe je bijvoorbeeld een MSDE database installeert en kunt vullen, of hoe je een webserver goed installeert maar verder is het een perfecte klant :P Ik doe al m'n webapps normaal gesproken in PHP maken, vanaf volgende week ga ik een bedrijf van een paar honderd man ermee automatiseren. Ik ben eindelijk een beetje op een niveau (met php dan) dat ik dit kan. Als ik nu met .NET start moet ik weer helemaal opnieuw beginnen. Ik wil nog verder komen met PHP dan ik nu al ben. Een collega van mij gaat zich waarschijnlijken meer verdiepen in .NET zodra hij er tijd voor heeft. Dan doet hij voortaan .NET dingetjes en ik doe dan alles met PHP. :)

In ieder geval alvast bedankt voor de hulp en bedankt voor de hulp tot nu toe.
_/-\o_

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
[nohtml]
wustenveld schreef op 17 januari 2003 @ 19:18:
Hier is de code van de recordset zoals die geopend wordt:
Gebruik ff code-tags wil je. ;)
Ik ga me in ieder geval niet verder verdiepen in .NET. Zoals ik al zei is dit een eenmalige actie geweest voor een klant van ons die zogenaamd gespecialiseerd is in Microsoft producten. Ze weten alleen niet hoe je bijvoorbeeld een MSDE database installeert en kunt vullen, of hoe je een webserver goed installeert maar verder is het een perfecte klant :P Ik doe al m'n webapps normaal gesproken in PHP maken, vanaf volgende week ga ik een bedrijf van een paar honderd man ermee automatiseren. Ik ben eindelijk een beetje op een niveau (met php dan) dat ik dit kan. Als ik nu met .NET start moet ik weer helemaal opnieuw beginnen. Ik wil nog verder komen met PHP dan ik nu al ben. Een collega van mij gaat zich waarschijnlijken meer verdiepen in .NET zodra hij er tijd voor heeft. Dan doet hij voortaan .NET dingetjes en ik doe dan alles met PHP. :)
Tja, da's eigenlijk een beetje jammer dat je niet verder wilt kijken dan je PHP neus lang is. ;)
ASP.NET biedt veel voordelen tov PHP en 'klassiek' ASP scripten. Het vergt natuurlijk wel een 'shift-in-mind', maar je kunt dan ook 'echte' programmeertechnieken toepassen. Je hebt een scheiding tussen code en html, je werkt OO, je hebt compiled code, je hebt een type-safe language, ...

Je zegt dat je weer helemaal moet opnieuw beginnen.... Wil dat dan zeggen dat jij over pakweg 10 jaar, nog altijd met PHP zult stoeien, terwijl er al veel betere tools op de markt zijn, en andere talen en paradigma's? Ik vind dit eigenlijk een beetje kortzichtig. Als iedereen zo denkt, dan zat iedereen hier nu nog in asm of cobol te programmeren.
Het enige wat je hoeft te doen is leren hoe je OO progged, de syntax en het .NET framework, en je komt dan al een heel eind....

Maar goed, het is jouw keuze natuurlijk. ;)

https://fgheysels.github.io/


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:22

mulder

ik spuug op het trottoir

^ what he said

[ Voor 93% gewijzigd door mulder op 17-01-2003 19:23 ]

oogjes open, snaveltjes dicht


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Ik ben op dit moment OO bezig met PHP en m'n HTML en code zijn gescheiden.
Sterker nog ik moet er niet aan denken dat m'n code en HTML en lay-out van de schermen bij elkaar in hetzelfde bestand staan. Wordt namelijk nogal lastig als ik alleen de schermindeling veranderen wil, moet ik elk bestand gaan aanpassen. Toen ik begon met PHP deed ik het wel op die manier, alles door elkaar maar ondertussen ben ik er achter dat dat op korte termijn heel handig is, maar op lange termijn alleen maar vertragend werkt. Inmiddels heb ik een standaard basis die ik gebruik voor veel applicaties die ook telkens verbeterd wordt, deze verbeteringen knal ik dan ook meteen in andere systemen die hier op gebaseerd zijn. Ik vind het heerlijk om op die manier te werken, en ik weet dan tenminste ook precies wat er in de basis van m'n web-applicatie zit. En dat is bij ASP.NET nog maar de vraag. Ik heb alleen geen compiled code met PHP, maar dat maakt mij persoonlijk niks uit. Het klinkt leuk maar ik heb nog steeds de voordelen daarvan niet ontdekt.
Daarnaast ga ik trouwens wel iets nieuws oppakken binnenkort, ik wil C gaan leren. Waarom weet ik niet maar het lijkt me een mooie taal.

Code tags, oke ff proberen dan:

Recordset
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<MM:DataSet 
id="rs"
runat="Server"
IsStoredProcedure="false"
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_avensus") %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_avensus") %>'
CommandText='<%# "SELECT * FROM dbo.pages WHERE id = @id" %>'
Debug="true"
> 
<Parameters> 
<Parameter Name="@id" Value='<%# IIf((Request.QueryString("id") <> Nothing), Request.QueryString("id"), "") %>' Type="Int" /> 
</Parameters>
</MM:DataSet>
<MM:PageBind runat="server" PostBackBind="true" />


Het webform:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form method="post" name="form1" runat="server">
<table>
<tr valign="baseline"> 
<td nowrap align="right"><strong>Titel:</strong></td>
<td> <asp:textbox id="titel" text='<%# rs.FieldValue("titel", Container) %>' TextMode="SingleLine" Columns="32" runat="server" /> </td>
</tr>
<tr valign="baseline"> 
<td nowrap align="right" valign="top"><strong>Bodytekst:</strong></td>
<td><RTB:RICHTEXTBOX id="bodytekst" Text='<%# rs.FieldValue("bodytekst", Container)%>' EditorHtmlModeCss="../../style.css" runat="server"></RTB:RICHTEXTBOX></td>
</tr>
<tr valign="baseline"> 
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="Update Record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="theID" value="<%# rs.FieldValue("id", Container) %>">
</form>

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
[nohtml]
wustenveld schreef op 20 January 2003 @ 12:07:
Ik ben op dit moment OO bezig met PHP en m'n HTML en code zijn gescheiden.
Nouja, da's eigenlijk een overstatement. OO bezig zijn met PHP.
Voor zover ik weet, ondersteunt PHP geen polymorphisme.
En dat is bij ASP.NET nog maar de vraag. Ik heb alleen geen compiled code met PHP, maar dat maakt mij persoonlijk niks uit. Het klinkt leuk maar ik heb nog steeds de voordelen daarvan niet ontdekt.
Snelheid en type-safety.
Daarnaast ga ik trouwens wel iets nieuws oppakken binnenkort, ik wil C gaan leren. Waarom weet ik niet maar het lijkt me een mooie taal.
Nouja, C# is ook een mooie taal. En object georienteerd erbij. ;)

Denk niet dat ik je nu naar .NET ofzo wil duwen, helemaal niet hoor.

https://fgheysels.github.io/


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Dat denk ik ook niet ;)
Ik denk dat C ook een mooie taal is, alleen al om het feit dat het een echte programmeertaal is. Daarnaast wordt C toch ook weer ondersteund door .NET dus zal ik tegen die tijd in principe ook .NET kunnen doen of niet ?
PHP is officieel scripttaal, ook al gebruik ik het nu als programmeertaal.
Wat bedoel je trouwens met polymorphisme. Morphen is toch iets als vervormen en poly=meer ofzo maar dan snap ik er nog niks van ;-) En met OO bedoel ik dat ik allemaal unieke objecten heb die vanaf een punt, m'n core, worden aangeroepen (allemaal laagjes, blokken, objecten hoe je het ook wilt noemen). Daarnaast heb ik veel voorkomende functies enzo in de core geknald. Als ik tegenwoordig naar de code kijk die ik schrijf lijkt het meer een nieuwe programmeertaal dan op PHP, maar het werkt, en het werkt snel :)

[back2topic]
Is er toevallig iemand die weet wat ik met m'n probleem kan doen?? Heb ondertussen nog gezocht op internet maar heb nog steeds niks tegengekomen waar ik iets mee kan
[/back2topic]

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
wustenveld schreef op 20 januari 2003 @ 13:42:
Dat denk ik ook niet ;)
Ik denk dat C ook een mooie taal is, alleen al om het feit dat het een echte programmeertaal is. Daarnaast wordt C toch ook weer ondersteund door .NET dus zal ik tegen die tijd in principe ook .NET kunnen doen of niet ?
C wordt niet ondersteund door .NET
Visual C++ wel.
PHP is officieel scripttaal, ook al gebruik ik het nu als programmeertaal.
Wat bedoel je trouwens met polymorphisme. Morphen is toch iets als vervormen en poly=meer ofzo maar dan snap ik er nog niks van ;-)
Euh ja. Polymorphisme is eigenlijk late binding. Met polymorphisme kan er at run time bepaald worden welke functie er moet uitgevoerd worden.
Voorbeeld:
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
28
29
30
31
32
33
34
35
36
37
class Persoon
{
   public virtual void Vertel()
   {
       Console.WriteLine ('Ik ben een persoon");
   }
}

class Arts : Persoon
{
   public void Vertel()
   {
      Console.WriteLine ("Ik ben een arts");
   }
}

class Programmeur : Persoon
{
   public void Vertel()
   {
      Console.WriteLine ("Ik ben een programmeur");
   }
}


...
public static void Main ()
{

   Persoon p;

   p = new Arts();
   p.Vertel();
   p = new Programmeur();
   p.Vertel();

}

Hier zal de output als volgt zijn:
code:
1
2
Ik ben een arts
Ik ben een programmeur


At runtime wordt dus bepaald welke functie er moet uitgevoerd worden.

Hier vind je nog eea over OOP.
[back2topic]
Is er toevallig iemand die weet wat ik met m'n probleem kan doen?? Heb ondertussen nog gezocht op internet maar heb nog steeds niks tegengekomen waar ik iets mee kan
[/back2topic]


Euh, ja. DreamWeaver lozen en mbhv VS.NET jouw pagina's maken. :P

[ Voor 4% gewijzigd door whoami op 20-01-2003 13:52 ]

https://fgheysels.github.io/

Pagina: 1