Tasto DataForm WebPart Reindirizza il nuovo ID dopo il salvataggio
Domanda
Ho due dataformwebparts su una pagina, uno per creare nuovi oggetti, uno per modificarli. Il WebPart che li crea ha questo pulsante:
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />
.
Le azioni per il pulsante che ho impostato da SharePoint Designer 2010, come segue:
- .
- commit
- Aggiorna
- Passare alla pagina (stessa pagina ma con parametro selectedId Set con valore:
', / dsqueryresponse / righe / riga / @ id,'La logica che dovrebbe accadere è: Salvare l'oggetto, quindi reindirizza sulla stessa pagina ma con l'ID dell'oggetto appena creato nel XSLTListViewWebPart.
Cosa succede in realtà, il reindirizzamento funziona ma a:
.https://domain.com/SitePages/Page.aspx?SelectedID=%27,/dsQueryResponse/Rows/Row/@ID,%27
Vedo due problemi, prima - l'URL reindirizzato sembra essere codificato.In secondo luogo, il parametro viene semplicemente preso come stringa, non considerato come parametro effettivo.
Qualcuno può per favore dare un suggerimento su cosa sta succedendo?
Soluzione
Prova a sostituirlo:
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />
.
con
<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID={@ID}}')}" />
.
Se ciò non funziona, è possibile utilizzare la sottostringa (@ID, [START-INDICE], [LUNGHE]) o sottostruttura-dopo o sottostringa: in XSLT