Toon posts:

[ASP.NET] Renderen van een usercontrol

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik kan in de documentatie over het volgende niets terugvinden. Je hebt een usercontrol met ascx en de codebehind.

In de codebehind is er een overridden render method, die de ascx output en de property Label uitpoept.

code:
1
2
3
4
5
6
protected override void Render(HtmlTextWriter output) 
{
StringWriter tw = new StringWriter();               
base.Render(new HtmlTextWriter(tw));
output.Write(tw.ToString() + Label);
}


De ascx inhoud wordt niet gerenderd als je hem op de volgende wijze toepast.
code:
1
2
<%@ Register TagPrefix="test" Namespace="Imanage.Modules.Base" Assembly="Modules.Base" %>
<test:test runat="server" ID="test" Label="test"></test:test>


Hij wordt wel gerendered als je hem op de volgende wijze toepast
code:
1
2
<%@ Register tagprefix="test" tagname="test" src="test.ascx" %>
<test:test runat="server" ID="test" Label="test"></test:test>


En hij wordt ook gerendered als je de control via code in gaat voegen.
code:
1
2
3
Test t = (Test)this.LoadControl("~/test.ascx");
t.Label = "test";
FindControl("form1").Controls.Add(t);


Wat ik me afvraag, waarom wordt de ascx niet gerendered als je hem via een library toe wilt voegen. Logischerwijs zou je zeggen, de class Test is niet bekend met het bestaan van een ascx. De rest van de aanroepen refereert duidelijk naar een ascx. Dit is een gevoel, maar wat zijn de feiten?

[ Voor 12% gewijzigd door Verwijderd op 07-05-2006 18:14 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Kun je code tags gebruiken, ook al is het maar een klein beetje code dat je laat zien? Ik zet meteen even [ASP.NET] in je titel (aannemende dat het hier daarom gaat, want dat vertel je nergens expliciet).

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
-NMe- schreef op zondag 07 mei 2006 @ 18:11:
Kun je code tags gebruiken, ook al is het maar een klein beetje code dat je laat zien? Ik zet meteen even [ASP.NET] in je titel (aannemende dat het hier daarom gaat, want dat vertel je nergens expliciet).
done :)