2009-04-14 2 views
0

Im utilisant VS 2005 et je veux trouver le meilleur moyen de créer un graphique Dundas dynamiquement. Dans mon codebehind, j'ai une procédure qui crée les balises de balisage pour un graphique Dundas. Lorsque la page s'affiche, elle n'affiche rien mais le code de la vue affiche les tags du graphique.Rendu contrôle Dundas avec balisage dynamique

Je sais que c'est probablement quelque chose avec le rendu de html dans tout le processus .net. Quelle est la meilleure façon de procéder? J'ai créé des contrôles dynamiques de diverses manières, mais cela semble être un peu différent puisque je construis une chaîne et que j'essaie de rendre. Voici le code de base qui est exécuté lorsqu'un utilisateur clique sur un bouton de la page.

string dundasXML = ""; 

    dundasXML = "<DCWC:CHART id='Chart1' runat='server' RenderType='InputTag' ImageType='Png' >"; 
    dundasXML += "<Series>"; 
    dundasXML += "<dcwc:Series ChartType='SplineArea' Name='Series1'>"; 
    dundasXML += "<Points>"; 
    dundasXML += "<dcwc:DataPoint YValues='6'></dcwc:DataPoint>"; 
    dundasXML += "<dcwc:DataPoint YValues='9'></dcwc:DataPoint>"; 
    dundasXML += "<dcwc:DataPoint YValues='3'></dcwc:DataPoint>"; 
    dundasXML += "</Points>"; 
    dundasXML += "</dcwc:Series>"; 
    dundasXML += "</Series>"; 
    dundasXML += "<ChartAreas>"; 
    dundasXML += "<dcwc:ChartArea BorderColor='' Name='Default' BackColor='Transparent'>"; 
    dundasXML += "</dcwc:ChartArea>"; 
    dundasXML += "</ChartAreas>"; 
    dundasXML += "</DCWC:CHART>"; 

    LiteralControl l = new LiteralControl(dundasXML); 

    myPanel.Controls.Add(l); 

Répondre

1

Vous pouvez utiliser la méthode ParseControl pour générer un contrôle de balisage.

Vous devrez injecter la directive @Register requise avant votre balisage lors de l'analyse du contrôle. Voir ce article pour une explication de la façon de procéder.

+0

J'ai essayé et j'ai obtenu "Étiquette de serveur inconnu 'DCWC: CHART'" Je ne sais pas pourquoi j'obtiendrais cela puisque la directive en haut de ma page est <% @ Register Assembly = "DundasWebChart" Namespace = "Dundas .Charting.WebControl "TagPrefix =" DCWC "%> – rahkim

+0

Voir ma réponse mise à jour pour une explication sur la façon de récupérer l'espace de noms de contrôle reconnu. – pmarflee

+0

Il semble que vous ayez juste besoin d'ajouter la directive dans la chaîne. – rahkim