Pergunta

Tenho dois DataFormWebparts em uma página, um para criar novos objetos e outro para editá-los.A Webpart que os cria possui este botão:

<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />

As ações para o botão que defini no Sharepoint Designer 2010 são as seguintes:

  • Comprometer-se
  • Atualizar
  • Navegue até a página (mesma página, mas com o parâmetro SelectedID definido com valor:
    ',/dsQueryResponse/Rows/Row/@ID,'

A lógica que deve acontecer é:salve o objeto e redirecione para a mesma página, mas com o ID do objeto recém-criado no XsltListviewWebPart.

O que realmente acontece, o redirecionamento funciona apenas para:

https://domain.com/SitePages/Page.aspx?SelectedID=%27,/dsQueryResponse/Rows/Row/@ID,%27

Vejo dois problemas: primeiro, o URL redirecionado parece estar codificado.Segundo, o parâmetro é simplesmente considerado uma string, não considerado um parâmetro real.

Alguém pode dar uma dica sobre o que está acontecendo?

Foi útil?

Solução

tente substituir isso:

<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID_x003D__x007B_@ID_x007D_}')}" />

com

<input type="button" value="Save" name="btnSave0" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__refresh;__redirect={Page.aspx?SelectedID={@ID}}')}" />

se isso não funcionar, você pode usar substring(@ID,[start-index],[length]) ou substring-after ou substring-before em xslt

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top