Définir dynamiquement la Valeur par défaut d'un ParameterBinding dans un DataFormWebPart
Dans mon custom page aspx dans WSS je suis à l'aide d'un DataFormWebPart avec un fichier xsl pour rendre certaines données. Dans le but de transmettre les valeurs de la xsl-je utiliser des liaisons de paramètres. Plus précisément, j'ai besoin de passer sur le serveur hôte de l'url comme ceci:
<ParameterBinding
Name="HttpHost"
Location="CAMLVariable"
DefaultValue="http://hardcoded.com" />
Cela fonctionne bien, mais la prochaine chose que je veux faire est d'obtenir le nom d'hôte de façon dynamique. Donc, essayer de comprendre comment obtenir à partir de SharePoint, j'ai ajouté de liaison suivants:
<ParameterBinding
Name="HttpHost"
Location="CAMLVariable"
DefaultValue='<%# SPContext.Current.Site.Url.Replace
(SPContext.Current.Site.ServerRelativeUrl, "") %>' />
Maintenant au problème. Le code fonctionne comme prévu si utilisé une autre place dans la page, mais avec le code ci-dessus SharePoint rapports:
Erreur du composant webpart: Le "ParameterBindings' propriété de WebPartPages:DataFormWebPart'
ne pas permettre à l'enfant des objets.
Quelqu'un a une prise sur le présent?
Mise à jour: j'ai activé le serveur de code côté selon cet article
Vous devez vous connecter pour publier un commentaire.
Ok, j'ai trouvé une solution qui n'est pas élégant, mais il fonctionne.
Après avoir essayé diverses méthodes de manipulation de la ParameterBindings propriété sans succès, j'ai pensé à comment je pourrais obtenir la valeur dynamique en utilisant l'attribut de Localisation.
La
ParameterBinding
Location
attribut fait référence à l'endroit où aller chercher la valeur de. Des Articles comme cette des relents de "Contrôle()" option. La modification du paramètre de liaison à:et en ajoutant le code suivant dans ma page:
...en fait, a fait le tour!
Pour obtenir les valeurs des paramètres à partir de l'intérieur de l'accompagnement fichier XSL j'ai mis param éléments dans l'élément racine. Le param nom de l'attribut doit correspondre à celui de la
ParameterBinding
:Le paramètre peut alors être référencé comme tout autre XSL variable.
À l'aide de Variables de Serveur probablement plus de sens:
http://mdasblog.wordpress.com/2007/10/19/data-view-web-part-parameters-based-on-server-variables/