[ASP.NET & C#] Webcontrol met html binnen de tags

Pagina: 1
Acties:

  • akakiwi
  • Registratie: September 2000
  • Laatst online: 15-08-2024

akakiwi

I believe in the ruling class.

Topicstarter
Hallo,

Ik ben een webapplicatie aan het ontwikkelen en daarvoor heb ik een x-aantal usercontrols gemaakt.
Nu kan ik aan die usercontrols dmv een property andere controls toevoegen zodat de usercontrol eigenlijk werkt als een soort masterpage. Maar, aangezien ik in .NET 1.1 in VS 2003 werk is het gebruiken van masterpages zoals deze in .NET 2.0 en VS 2005 zitten geen optie.

Wat ik wil is het volgende:
code:
1
2
3
4
<%@ Register TagPrefix="uc1" TagName="ContentBlock" Src="~/Controls/ContentBlock.ascx" %>
<uc1:ContentBlock runat="server" id="cbGuestbookWrite" Width="300" HeaderIsVisible="True" HeaderImage="hdrWrite.png">
  <span>Mijn eigen html content.</span>
</uc1:ContentBlock>


Width, HeaderIsVisible en HeaderImage zijn properties van het usercontrol die hier in de aanroep gevuld worden.
Het probleem met deze aanroep is dat je dan bij de aanroep van de pagina waarin de code voorkomt de volgende melding geeft.
Type ContentBlock.ascx does not have a property named span.

Ik heb al geprobeerd om met de RenderChildren method de children op de juiste plek te renderen en zowel Google, MSDN als Experts-Exchange geven geen oplossing hiervoor.

Weet iemand van jullie hoe ik dit kan oplossen??

| Life is a game (and games are fun) | homepage |


  • robertpNL
  • Registratie: Augustus 2003
  • Niet online
Niet helemaal direct een antwoord op je vraag, maar wat ik zo lees, is het misschien handiger dat je dit oplost met een aparte WebControl i.p.v. een UserControl.

Binnen WebControl moet je (dacht ik) Render overriden, en a.d.h. van je propertys plus fields de informatie naar de Renders parameter 'output' sturen. Dus als je een property 'span' hebt, kan je de informatie zo naar de HttpTextWriter sturen (via parameter output)

Even uit mijn hoofd gedacht hoor. Heb je hier wat aan, denk je?

  • L-VIS
  • Registratie: April 2005
  • Laatst online: 15:31
Als ik je goed begrijp, zoek je een custom control. Deze zijn wel wat moeilijker te maken (lees: veel code behind).

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Je kan niet zomaar een element nesten in een asp.net-element.

Waarom voeg je niet een LiteralControl aan je usercontrol toe, waarvan je de value zet met een property van de usercontrol?

code:
1
2
3
4
<%@ Register TagPrefix="uc1" TagName="ContentBlock" Src="~/Controls/ContentBlock.ascx" %>
<uc1:ContentBlock runat="server" id="cbGuestbookWrite" Width="300" HeaderIsVisible="True" HeaderImage="hdrWrite.png"
 spantext="Mijn eigen html content">
</uc1:ContentBlock>

[ Voor 36% gewijzigd door PhysicsRules op 16-11-2006 16:31 ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 09:27

mulder

ik spuug op het trottoir

Heeft oa te maken met Persist- en ParseChildren, hier staat wel wat leesvoer: http://aspnet.4guysfromrolla.com/articles/081104-1.aspx

oogjes open, snaveltjes dicht


  • Niek.NET
  • Registratie: Oktober 2005
  • Laatst online: 17:29
Hier staat uitleg hoe dit te doen.

Als het goed is werkt dit ook in .NET 1.1

  • akakiwi
  • Registratie: September 2000
  • Laatst online: 15-08-2024

akakiwi

I believe in the ruling class.

Topicstarter
@roberpNL en L-VIS.
Voor jullie opmerkingen vreesde ik al. In het verleden heb ik dit probleem namelijk op de user control manier opgelost. En inderdaad, dat is veel code behind, maar werkt wel.

@PhysicsRules.
Ik kan die <span> in de WUC helaas niet zomaar vervangen door een attribute die het voor me oplost. Binnen die <span> moet namelijk html content komen met eventueel ook serverside controls erin.

@Don Facundo.
hmmm.... Dat lijkt het echt meteen een heel eind goed te doen. Het behoeft nog wat finetuning, maar ik verwacht dat dit een heel eind gaat werken.

@Niet.NET
Dat is ook een interessante oplossing, maar ik zie die oplossing eigenlijk niet meer als het aanmaken van properties via een eigen tag.

Dank jullie wel voor de suggesties. Ik laat nog weten welke oplossing voor mij de juiste was.

| Life is a game (and games are fun) | homepage |


  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

akakiwi schreef op vrijdag 17 november 2006 @ 06:33:
@PhysicsRules.
Ik kan die <span> in de WUC helaas niet zomaar vervangen door een attribute die het voor me oplost. Binnen die <span> moet namelijk html content komen met eventueel ook serverside controls erin.
In een LiteralControl kun je juist wel HTML plaatsen. Maar goed, als je ook serverside objecten wilt toevoegen zijn de andere, complexe aangedragen oplossingen idd nuttiger.
Pagina: 1