Met hulp van een boek en veel Googelen heb ik in C# en ASP.NET 2.0 een kleine website gemaakt. In één van de pagina's van die site wordt een XML file met XSLT getransformeerd naar HTML die daarna als onderdeel van de .Aspx pagina wordt weergegeven. Op die manier kan ik content aanpassen door alleen de XML te editen.
Daarnaast heb ik in de code-behind van de pagina een routine die de elementen op de pagina naloopt en in een aantal elementen attributen toevoegt/aanpast. Zo kan ik bijvoorbeeld een fragment Javascript (onclick=... etc) toevoegen aan anchor tags die naar externe sites wijzen zonder dat ik de content daarmee moet vervuilen.
Helaas lukt dit "nalopen" alleen met elementen die in de .Aspx pagina gedefinieerd worden en het runat="server" attribuut hebben. In de code die door de XML/XSLT transformatie gegenereerd wordt heeft runat="server" echter geen effect. Nu begrijp ik dit wel maar dat maakt het niet minder lastig.
Mijn vraag dus: Hoe kan ik dit met server-side code oplossen zodat ik ook de dynamisch genereerde elementen kan aanpassen? Is er wel een oplossing? Client-side Javascript zou misschien ook wel kunnen maar die oplossing staat me tegen omdat ik dan client- en serverside code moet mengen (meer complexiteit) en ik liefst zie dat de site ook werkt zonder Javascript-enabled browser.
Daarnaast heb ik in de code-behind van de pagina een routine die de elementen op de pagina naloopt en in een aantal elementen attributen toevoegt/aanpast. Zo kan ik bijvoorbeeld een fragment Javascript (onclick=... etc) toevoegen aan anchor tags die naar externe sites wijzen zonder dat ik de content daarmee moet vervuilen.
Helaas lukt dit "nalopen" alleen met elementen die in de .Aspx pagina gedefinieerd worden en het runat="server" attribuut hebben. In de code die door de XML/XSLT transformatie gegenereerd wordt heeft runat="server" echter geen effect. Nu begrijp ik dit wel maar dat maakt het niet minder lastig.
Mijn vraag dus: Hoe kan ik dit met server-side code oplossen zodat ik ook de dynamisch genereerde elementen kan aanpassen? Is er wel een oplossing? Client-side Javascript zou misschien ook wel kunnen maar die oplossing staat me tegen omdat ik dan client- en serverside code moet mengen (meer complexiteit) en ik liefst zie dat de site ook werkt zonder Javascript-enabled browser.