Pregunta

Chicos, he estado escribiendo código durante más de 15 años, pero logré evitar el "Desarrollo web" hasta hace 3 meses.

He heredado una aplicación heredada de Asp.net (iniciada en .net 1.1, ahora estamos en .Net 2.0), es la herramienta de administración de nuestro producto.

En varios lugares, la herramienta de administración simplemente mantiene largas listas de valores.

La lista (podría ser de más de 200 elementos) aparece en un GridView (Página A), el usuario hace clic en un botón de edición para un elemento, esto los lleva a una página de edición para el elemento (Página B) donde pueden cambiar el valor (o valores, un elemento de la lista puede asociarse con varios valores, por ejemplo, nombre y dirección y color preferido, raza de gato ...)

Actualmente, cuando el usuario presiona "Guardar" en la página B, redirigimos nuevamente a la página A. La página se abre al principio de la lista, esto molesta al usuario con la frecuencia con la que varios elementos en secuencia deberán configurarse juntos, y el usuario debe 1. Recordar qué elemento acaba de editar, 2. desplazarse hacia abajo hasta ese elemento

Lo que quiero hacer es que la lista lleve al usuario al elemento que acaba de editar, ya que a menudo es necesario configurar varios elementos en secuencia.

Parada de pistola más rápida . . . y sigue leyendo

  1. Las sugerencias en las líneas de "reagrupar los elementos para que haya menos en la lista" se considerarán inútiles
  2. Los puntos válidos que .Net 3.5 hace esto automáticamente, los consideraré inútiles (pero publicarlos de todos modos, puede ayudar a algún otro pobre tonto)
  3. Creo que podría hacer esto publicando el Id. del elemento editado al volver a cargar la Página A y desplazando la cuadrícula hasta este punto, sin embargo, Mi pregunta es . . .

¿Hay alguna función para hacer esto que no conozco (y qué es)? y / o
¿Cuál es la forma aceptada de hacer esto?

Gracias de antemano B. más preocupado

¿Fue útil?

Solución

Esto podría lograrse utilizando etiquetas de anclaje. Cuando emita sus elementos en la página A, establezca una etiqueta de anclaje junto a cada elemento como se muestra a continuación:

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

Donde este artículo sería el artículo id 175. Luego, cuando redireccione nuevamente a la página A, agregue un " # 175 " al final de la url

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

Otros consejos

La forma más sencilla de hacerlo es devolver un ID de PageB en la cadena de consulta en la URL mientras se redirige a PageA después de guardar en PageB.

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

y en PageLoad of PageA, puedes verificar si se trata de la página de detalles de edición examinando si hay un valor válido en HttpContext.Current.QueryStrubg [" editedId "], si hubo, significa que es de PageB. Puede usar este valor para resaltar o seleccionar la fila en la base de datos fácilmente

Parada de pistola más rápida. . . y sigue leyendo ...

Un buen control le permite editar varias filas al mismo tiempo en la misma página, por ejemplo, en PageA, y guardarlas juntas. Compruebe su control Telerik para datagrid. Te encantaría.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top