Hallo!,
Ik ben bezig met een .NET Website. Nou heeft een ASPX pagina een HTML kant en een "code-behing"- pagina waar de server-side code in staat. In mijn geval staat deze code in C#.
Een HTML knop kan je runat=server maken en vervolgens werkt dat allemaal prachtig.
Het probleem
Het probleem is nu dat ik een frame-pagina heb gemaakt zonder frames, maar door gebruik te maken van <DIV> tags. Werkt perfect. Het hoofdframe wordt nu server-side aangemaakt en in het juiste DIVJE geplakt. Tot zover ook geen probleem. Ik maak dus deels dynamisch de pagina aan.
Nu wil ik alleen ook dynamisch server-side knoppen toevoegen aan de pagina en dat is het probleem.
.NET bevat client-side de volgende hidden fields om events naar de server-kant terug te posten:
Die event target is daarbij even het belangrijkst. Verder hebben ze het volgende stukje Javascript:
Dynamisch had ik dus geprobeerd om een knop te maken die bij de onclick zichzelf registreerd bij de __doPostBack. Dat wil wel. Nu moet je volgens mij alleen server-side dit component ook alvast "reserveren". Dit door een:
protected System.Web.UI.HtmlControls.HtmlInputButton object aan te maken. Als je vervolgens met een delegate nog even koppelt aan je ServerClick event zou je volgens mij klaar zijn.
Toch werkt dit niet. De knop komt mooi gerenderd op het scherm, maar je kan er op klikken wat je wilt, het server- side event gaat niet af.
Iemand enig idee hoe dit opgelost zou moeten worden?
Ik ben bezig met een .NET Website. Nou heeft een ASPX pagina een HTML kant en een "code-behing"- pagina waar de server-side code in staat. In mijn geval staat deze code in C#.
Een HTML knop kan je runat=server maken en vervolgens werkt dat allemaal prachtig.
Het probleem
Het probleem is nu dat ik een frame-pagina heb gemaakt zonder frames, maar door gebruik te maken van <DIV> tags. Werkt perfect. Het hoofdframe wordt nu server-side aangemaakt en in het juiste DIVJE geplakt. Tot zover ook geen probleem. Ik maak dus deels dynamisch de pagina aan.
Nu wil ik alleen ook dynamisch server-side knoppen toevoegen aan de pagina en dat is het probleem.
.NET bevat client-side de volgende hidden fields om events naar de server-kant terug te posten:
code:
1
2
| <input type="hidden" name="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" value="" /> |
Die event target is daarbij even het belangrijkst. Verder hebben ze het volgende stukje Javascript:
code:
1
2
3
4
5
6
7
8
9
10
| <script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform = document.ServerActies;
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script> |
Dynamisch had ik dus geprobeerd om een knop te maken die bij de onclick zichzelf registreerd bij de __doPostBack. Dat wil wel. Nu moet je volgens mij alleen server-side dit component ook alvast "reserveren". Dit door een:
protected System.Web.UI.HtmlControls.HtmlInputButton object aan te maken. Als je vervolgens met een delegate nog even koppelt aan je ServerClick event zou je volgens mij klaar zijn.
Toch werkt dit niet. De knop komt mooi gerenderd op het scherm, maar je kan er op klikken wat je wilt, het server- side event gaat niet af.
Iemand enig idee hoe dit opgelost zou moeten worden?