Toon posts:

[.NET ASPX] Eigen server site knoppen

Pagina: 1
Acties:

Verwijderd

Topicstarter
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:

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?

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Waarom gebruik je HTML controls als je server-events wilt kunnen triggeren? Je kunt dan beter gebruik maken van de Server Controls.

https://fgheysels.github.io/


Verwijderd

ik denk da je best een panel maakt
<asp:panel id="bla" runat="server"/>
in je codebehind
kan je controls toevoegen
bla.addControl(new label("testlabeltje"));

Verwijderd

Topicstarter
whoami schreef op 27 May 2003 @ 19:40:
Waarom gebruik je HTML controls als je server-events wilt kunnen triggeren? Je kunt dan beter gebruik maken van de Server Controls.
Maakt volgens mij niet uit, het probleem blijft denk ik bestaan. Ik wil dynamisch mijn DIV content op gaan bouwen. Die DIV moet server controls bevatten. Dat krijg ik dan weer niet voor elkaar.
Verwijderd schreef op 27 May 2003 @ 19:55:
ik denk da je best een panel maakt
<asp:panel id="bla" runat="server"/>
in je codebehind
kan je controls toevoegen
bla.addControl(new label("testlabeltje"));
Maar dat lost het probleem niet op. Ik vul server-side de innerHtml van een DIV. In die div wil ik dan eigenlijk een server-side component maken die dan dus ook weer reageert op onclick-etc events.

Als ik in de DIV een <asp:panel...> plaats met daarop enkele controls dan blijf ik volgens mij met hetzelfde probleem zitten :'(

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 07:31
ik denk inderdaad niet dat wat jij wil gaat werken.

Als ik je goed begrijp wil je een pagina dynamisch vullen met dingen die eigenlijk later door de server weer uitgevoerd zouden moeten worden.

Ik denk dat je het beste de dingen die je uitgevoerd wil hebben, kan laten uitvoeren voor/tijdens dat je je pagina vult, en dan zo de resultaten in de pagina zetten.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Verwijderd

Topicstarter
Tampie schreef op 27 mei 2003 @ 20:19:
ik denk inderdaad niet dat wat jij wil gaat werken.

Als ik je goed begrijp wil je een pagina dynamisch vullen met dingen die eigenlijk later door de server weer uitgevoerd zouden moeten worden.

Ik denk dat je het beste de dingen die je uitgevoerd wil hebben, kan laten uitvoeren voor/tijdens dat je je pagina vult, en dan zo de resultaten in de pagina zetten.
Het gaat er dus eigenlijk om dat stel:

De bovenste balk van GOT ( met profile, prefs, etc ) is een absoluut gepositioneerde DIV die altijd vaste gegevens heeft. Waar nu alle berichtjes staan is een 2e div, met overflow:auto; Deze DIV wordt in de Page_Load ( server-side ) dynamisch gevuld. Bij de berichtjes staan alleen ook knopjes ( post reply, etc ). Stel dat dit server-side knopjes moeten worden. Dan zoek ik dus een manier om die ook dynamisch te plaatsen ( dus bij het vullen van de InnerHTML van de DIV ).

Ik vind het niet erg om voor alle knoppen die ooit dynamisch aangemaakt zullen worden op de code-behind pagina al objecten te reserveren.

Al vast weer bedankt voor de reacties.

[ Voor 3% gewijzigd door Verwijderd op 27-05-2003 20:41 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik snap er echt helemaal niets van, maar dat kan aan het uur van de dag liggen.. :P

Je wilt dus op een bepaalde plaats op een pagina knoppen toevoegen. Je weet alleen de plaats, at runtime moet je dan dus knoppen toevoegen.

Waarom neem je dan niet 2 placeholders en hang je hier alle controls aan?

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1