none
Redirecionar Custom List Form para página desejada [SharePoint 2007] RRS feed

  • 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.

    quarta-feira, 27 de junho de 2012 13:48

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,



    quarta-feira, 27 de junho de 2012 15:05
  • 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


    quarta-feira, 27 de junho de 2012 18:00
  • 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

    quarta-feira, 27 de junho de 2012 18:42
    Moderador

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,



    quarta-feira, 27 de junho de 2012 15:05
  • 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.

    quarta-feira, 27 de junho de 2012 16:03
  • 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

    quarta-feira, 27 de junho de 2012 16:23
    Moderador
  • 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?

    quarta-feira, 27 de junho de 2012 17:52
  • 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

    quarta-feira, 27 de junho de 2012 17:53
    Moderador
  • 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


    quarta-feira, 27 de junho de 2012 18:00
  • 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.

    quarta-feira, 27 de junho de 2012 18:39
  • 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

    quarta-feira, 27 de junho de 2012 18:42
    Moderador
  • 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.

    quarta-feira, 27 de junho de 2012 18:59