Como chegar Asp.Net para redirecionamento de usuário de volta ao seu ponto de partida

StackOverflow https://stackoverflow.com/questions/225149

  •  03-07-2019
  •  | 
  •  

Pergunta

Gente, eu tenho escrito código para 15+ anos, mas conseguiu evitar “Desenvolvimento Web” até 3 meses.

Eu herdei uma aplicação Asp.net legado (iniciado em .NET 1.1, estamos agora em .Net 2.0), é a ferramenta de administração para o nosso produto.

Em vários lugares a ferramenta de administração simplesmente mantém longas listas de valores.

A lista (pode ser mais de 200 itens) aparecem em um GridView (Página A), o usuário clica em um botão de edição para um item, isso traz-los para uma página de edição para o item (Página B), onde podem alterar o valor (ou valores, um item na lista pode ser associada a vários valores por exemplo, nome e endereço e cor preferida, raça de gato...)

Atualmente, quando o usuário pressiona “salvar” na página B, nós redirecionamos voltar à página A. A página é aberta no topo da lista, isso irrita o usuário como muitas vezes vários itens em seqüência terá de ser configurados em conjunto, e o usuário precisa 1. Lembre-se que item que acabou de editar, 2. Vá até aquele item

O que eu quero fazer é ter a lista de trazer a volta usuário para o item que acabou de editar, como muitas vezes vários itens em seqüência terá de ser configurado em conjunto.

Fastest Gun Parar . . . e manter a leitura

  1. Sugestões sobre as linhas de “reagrupar os itens para que haja menos na lista” será considerado inútil
  2. pontos válidos que Net 3.5 faz isso automaticamente, será considerado inútil por mim (mas publicá-las de qualquer maneira, ele pode ajudar a algum outro pobre tolo)
  3. Eu acho que eu poderia fazer isso por postar a identificação do item editado quando re-carregamento da página A, e rolagem da grade a este ponto, no entanto A minha pergunta é . . .

Existe um recurso para fazer isso que eu não sei sobre (eo que é) e / ou
Qual é a maneira aceitável de fazer isso?

Obrigado antecipadamente B. Worrier

Foi útil?

Solução

Isto pode ser conseguido usando âncora Etiquetas. Quando você saída de seus elementos na página A, definir uma marca de âncora ao lado de cada elemento como segue:

<a name="#175"></a>

Onde este item seria id artigo 175. Então, quando você redirecionar de volta para PageA, adicionar um "# 175" para o final da URL

Response.Redirect("PageA.aspx#175");

Outras dicas

A maneira mais simples que você pode fazer é passar de volta um ID de página B na querystring na URL, enquanto redirecionando de volta para PageA depois de salvar na página B.

por exemplo. www.example.com/PageA.aspx?editedId=89

e em PageLoad de PageA, você pode verificar se este está na página de detalhes editar por examineing se existe um valor válido no HttpContext.Current.QueryStrubg [ "editedId"], se houvesse, isso significa que ele é de Página B. Você pode usar esse valor para destacar ou selecionar a linha na grade de dados facilmente

Fastest Gun Parar. . . e continue lendo ...

Um bom controle permite linhas editar múltiplas ao mesmo tempo na mesma página, por exemplo, em PageA, e guardá-las em conjunto. Verifique se o controle Telerik para datagrid. Você adoraria.

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