Bouton WebPart DataForm Rediriger un nouvel identifiant après l'épargne
Question
J'ai deux dataformwebParts sur une page, une pour créer de nouveaux objets, une pour les éditer. Le WebPart qui les crée a ce bouton:
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />
Les actions du bouton que j'ai définies de SharePoint Designer 2010, comme suit:
- commit
- Actualiser
- naviguer vers la page (même page mais avec le paramètre sélectionné défini avec la valeur:
', / dsqueryResponse / rangées / rangées / @ ID,'La logique qui devrait se produire est la suivante: enregistrez l'objet, puis rediriger vers la même page, mais avec l'ID de l'objet nouvellement créé dans XSLTLISTVIEWWEBPART.
Qu'est-ce qui se passe effectivement, les travaux de redirection mais:
https://domain.com/SitePages/Page.aspx?SelectedID=%27,/dsQueryResponse/Rows/Row/@ID,%27
Je vois deux problèmes, d'abord - l'URL redirigée semble être codée.Deuxièmement, le paramètre est simplement pris en tant que chaîne, non considérée comme un paramètre réel.
Quelqu'un peut-il s'il vous plaît donner un indice sur ce qui se passe?
La solution
Essayez de remplacer ceci:
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />
avec
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID={@ID}}')}" />
Si cela ne fonctionne pas, vous pouvez utiliser la sous-chaîne (@ID, [Démarrer-index], [longueur]) ou sous-chaîne-après ou sous-chaîne-avant dans XSLT