Usuário com melhor resposta
Redirecionar Custom List Form para página desejada [SharePoint 2007]

Pergunta
-
Olá pessoal,
Eu criei uma página de webparts em uma biblioteca e usei um Custom List Form para publicar um formulário de inserção de itens em uma lista do meu site, retirando alguns campos de validação da minha lista, como "status" e "atribuído a", pois estes campos serão controlados via workflow e não pelo usuário.
Gostaria de saber se tem alguma maneira de quando o usuário clicar no botão OK, após serem feitas todas validações, o mesmo ser redirecionado para a página inicial do site, ao invés de ser redirecionado para o /AllItems.aspx da minha lista.
Dentro do SharePoint Designer eu cliquei nas propriedades do botão OK e encontrei um campo RedirectURL porém não funcionou. Na hora que eu salvo a página ele volta para o /AllItems.aspx.
Respostas
-
Luiz,
Se você reparar quando for criar um novo item, a url é +ou- assim:
http://[Site]/Lists/[SuaLista]/NewForm.aspx?RootFolder=%2F&Source=http://[Site]/Lists/[SuaLista]/AllItems.aspx
Você tem que mudar o valor da query string Source para o destino que deseja.
Ou então você pode editar pelo SharePoint Designer e editar o botão SaveButton
Ex.:
<SharePoint:SaveButton runat="server" ControlMode="New" id="savebutton2" Text="Send" RedirectUrl="/SitePages/Default.aspx"/>
Foi assim que você tentou?
Abs,
- Editado Rafael Fausto quarta-feira, 27 de junho de 2012 15:15
- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 27 de junho de 2012 15:45
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
-
Olá pessoal,
Eu criei uma página de webparts em uma biblioteca e usei um Custom List Form para publicar um formulário de inserção de itens em uma lista do meu site, retirando alguns campos de validação da minha lista, como "status" e "atribuído a", pois estes campos serão controlados via workflow e não pelo usuário.
Gostaria de saber se tem alguma maneira de quando o usuário clicar no botão OK, após serem feitas todas validações, o mesmo ser redirecionado para a página inicial do site, ao invés de ser redirecionado para o /AllItems.aspx da minha lista.
Dentro do SharePoint Designer eu cliquei nas propriedades do botão OK e encontrei um campo RedirectURL porém não funcionou. Na hora que eu salvo a página ele volta para o /AllItems.aspx.
Oi Luiz,
Tudo bem?Voltando um pouco a sua necessidade inicial "...retirando alguns campos de validação da minha lista, como "status" e "atribuído a", pois estes campos serão controlados via workflow e não pelo usuário...", você pode ocultar os campos dos formulários de inserção, pelo Content Type.
http://nickgrattan.wordpress.com/2008/12/02/changing-order-hiding-columns-in-new-edit-forms/ - Changing Order / Hiding Columns in New / Edit Forms
Vi que o pessoal lhe respondeu a questão do redirecionamento, e realmente funciona, mas a sua necessidade inicial pode ser alcançada facilmente ocultando as colunas no Tipo de Conteúdo (Content Type).
Abraço!
Se esta resposta foi útil para você, por favor, marque como Resposta! Muito Obrigado! :) Thiago Silva Especialista SharePoint http://thiagottss.com.br
- Editado Thiago Silva - SharePoint quarta-feira, 27 de junho de 2012 18:01 correção ortográfica
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
-
Luiz,
Não precisa fazer alteração nenhuma no código.
No link que você chama o seu formulário de New Item, coloque assim: http://site/lists/NewItem.aspx?Source=/default.aspx
Quando clicar em ok, vai funcionar. Sem alterar nada.
Abraços!
Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
Todas as Respostas
-
Luiz,
Se você reparar quando for criar um novo item, a url é +ou- assim:
http://[Site]/Lists/[SuaLista]/NewForm.aspx?RootFolder=%2F&Source=http://[Site]/Lists/[SuaLista]/AllItems.aspx
Você tem que mudar o valor da query string Source para o destino que deseja.
Ou então você pode editar pelo SharePoint Designer e editar o botão SaveButton
Ex.:
<SharePoint:SaveButton runat="server" ControlMode="New" id="savebutton2" Text="Send" RedirectUrl="/SitePages/Default.aspx"/>
Foi assim que você tentou?
Abs,
- Editado Rafael Fausto quarta-feira, 27 de junho de 2012 15:15
- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 27 de junho de 2012 15:45
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
-
Luiz,
Se você reparar quando for criar um novo item, a url é +ou- assim:
http://[Site]/Lists/[SuaLista]/NewForm.aspx?RootFolder=%2F&Source=http://[Site]/Lists/[SuaLista]/AllItems.aspx
Você tem que mudar o valor da query string Source para o destino que deseja.
Ou então você pode editar pelo SharePoint Designer e editar o botão SaveButton
Ex.:
<SharePoint:SaveButton runat="server" ControlMode="New" id="savebutton2" Text="Send" RedirectUrl="/SitePages/Default.aspx"/>
Foi assim que você tentou?
Abs,
Sim, tentei deste jeito, agora a página que eu criei é uma página de webparts, usei para aproveitar a master.page. Será que isto influencia em alguma coisa?
Dentro da Zona de Webpart eu coloquei este Custom List Form, pelo SharePoint Designer.
-
-
Olá Luiz Henrique, tudo bem?
Geralmente, passando a sua URL na QueryString "Source" resolve.
Abraços!
Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net
Olá Rodrigo,
Para fazer isto eu vou ter que remover o botão de salvar padrão do SharePoint e construir meu próprio botão?
-
Olá Luiz,
Não precisa. O botão de Salvar do SharePoint entende e procura por esse parâmetro nativamente. Se tiver alguma coisa, ele manda para o endereço especificado. Caso contrário, ele manda para a lista.
Abraços!
Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net
-
Olá pessoal,
Eu criei uma página de webparts em uma biblioteca e usei um Custom List Form para publicar um formulário de inserção de itens em uma lista do meu site, retirando alguns campos de validação da minha lista, como "status" e "atribuído a", pois estes campos serão controlados via workflow e não pelo usuário.
Gostaria de saber se tem alguma maneira de quando o usuário clicar no botão OK, após serem feitas todas validações, o mesmo ser redirecionado para a página inicial do site, ao invés de ser redirecionado para o /AllItems.aspx da minha lista.
Dentro do SharePoint Designer eu cliquei nas propriedades do botão OK e encontrei um campo RedirectURL porém não funcionou. Na hora que eu salvo a página ele volta para o /AllItems.aspx.
Oi Luiz,
Tudo bem?Voltando um pouco a sua necessidade inicial "...retirando alguns campos de validação da minha lista, como "status" e "atribuído a", pois estes campos serão controlados via workflow e não pelo usuário...", você pode ocultar os campos dos formulários de inserção, pelo Content Type.
http://nickgrattan.wordpress.com/2008/12/02/changing-order-hiding-columns-in-new-edit-forms/ - Changing Order / Hiding Columns in New / Edit Forms
Vi que o pessoal lhe respondeu a questão do redirecionamento, e realmente funciona, mas a sua necessidade inicial pode ser alcançada facilmente ocultando as colunas no Tipo de Conteúdo (Content Type).
Abraço!
Se esta resposta foi útil para você, por favor, marque como Resposta! Muito Obrigado! :) Thiago Silva Especialista SharePoint http://thiagottss.com.br
- Editado Thiago Silva - SharePoint quarta-feira, 27 de junho de 2012 18:01 correção ortográfica
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
-
Desculpem minha ignorância, mas seria mais ou menos assim?
<ParameterBinding Name="dvt_apos" Location="Postback;Connection"/>
<ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/>
<ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/>
<ParameterBinding Name="ListItemId" Location="QueryString(ID)" DefaultValue="0"/>
<ParameterBinding Name="ListID" Location="None" DefaultValue="{F3000137-3C44-4E76-AFB2-A6534858298E}"/>
<ParameterBinding Name="Param1" Location="QueryString(Source)" DefaultValue="http://endereço_do_meu_site/default.aspx"/>
</ParameterBindings>Tentei e não deu certo =\
Thiago, muito bom este artigo, não sabia desta opção. No meu caso eu não quero que os visitantes tenham acesso a lista normal, quero customizar um formulário mesmo para eles preencherem. É um sistema de Help Desk que estou fazendo. Já até achei alguns templates da Microsoft só que os campos que eu tenho são totalmente diferentes, aí resolvi fazer do zero, até mesmo para aprender o SharePoint.
-
Luiz,
Não precisa fazer alteração nenhuma no código.
No link que você chama o seu formulário de New Item, coloque assim: http://site/lists/NewItem.aspx?Source=/default.aspx
Quando clicar em ok, vai funcionar. Sem alterar nada.
Abraços!
Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net
- Marcado como Resposta Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 18:57
-
Luiz,
Não precisa fazer alteração nenhuma no código.
No link que você chama o seu formulário de New Item, coloque assim: http://site/lists/NewItem.aspx?Source=/default.aspx
Quando clicar em ok, vai funcionar. Sem alterar nada.
Abraços!
Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net
Funcionou :) !!!
É que eu ainda não tinha feito os "links", estava acessando a página de cadastro direto... rsrsrs
Fiz o link, coloquei o Source=http://site/default.aspx e funcionou! Muito obrigado pessoal.
edit.: Sua solução veio a calhar Thiago, pois ao criar um formulário personalizado eu não consegui anexar items, retornou um erro. Olhei nos fórums da microsoft e tem que instalar um kb e editar o XSL para funcionar...rsrsrs Como eu não tenho acesso a infra deste servidor, ocultei os campos para novos formulários e funcionou, pena que agora não vou poder editar o tamanho dos meus campos :´( pois vem padrão do sharepoint.
- Editado Luiz Henrique Boggione quarta-feira, 27 de junho de 2012 20:49