2010-06-04 10 views
6

Tengo que proporcionar una forma para que los usuarios editen tablas en ASP.Net. Las tablas son simples (sin relaciones maestro/detalle), pero es probable que haya muchas. ¿Cuál es la forma más rápida/simple de proporcionar una interfaz de vista/edición a una tabla, incluso considerando opciones comerciales (pero no Iron Speed ​​Designer. ¿Eso es ridículamente caro para lo que necesito)?Edición de tablas con ASP.Net - Quick 'n Dirty

En su configuración más simple/ideal, me gustaría señalar un control en una mesa y listo. He visto algunas soluciones de ORM, pero todas intentan ser una navaja suiza que solo acumula la complejidad y tienden a ser bestias en sí mismas.

¿Hay algo que sea completamente simple que pueda ayudarme aquí? ¿O debería bucear en SubSonic o algo similar?

+0

Parece que Dynamic Data es un ganador, pero ¿alguien tiene alguna buena idea de SubSonic vs. Dynamic Data? SubSonic es el proyecto de Haack, ¿verdad? ¿Entonces ambos son de Microsoft ahora? ¿Alguien puede dar un discurso sobre las diferencias? ¿Tal vez incluso una demostración rápida similar a la que vinculó Graham Clark a continuación? Esta oración se agregó para no tener todo mi comentario compuesto de preguntas. –

+0

SubSonic no es el proyecto de Haack, ni el de Microsoft, pero creo que Phil Haack sí contribuyó a SubSonic. SubSonic es un ORM y parece que no quieres un ORM. –

Respuesta

5

Después de algunas investigaciones, lo más rápido que encontré fue simplemente usar linq en sql con un GridView. Estaba buscando una solución que se pueda integrar fácilmente en las páginas existentes. Sin el beneficio del autoandamiado y las páginas generadas, Dynamic Data pierde la marca. El 99% de lo que quería era evitar escribir declaraciones SQL y manejar los Comandos Update manualmente.

Estos son los pasos que escribí para mi referencia personal. Se basa en gran medida de los diseñadores, sino por lo que necesito, esto es perfecto:

  1. Nuevo proyecto (o proyecto existente)
  2. Añadir archivo LinqToSqlClass para proyectar
  3. añadir tablas relevantes de la fuente de datos a la superficie de diseño (utilice el Explorador de servidor) del proyecto de construcción
  4. (de modo que se generará DataContext clase)
  5. Ir a la página ASPX
  6. arrastrar un objeto LinqDataSource la caja de herramientas.
  7. Configurar origen de datos (asegúrese de activar la actualización si es necesario)
  8. Arrastre un gridview caja de herramientas
  9. del origen de datos a LinqDataSource objeto que acaba de crear
  10. Personalizar columnas si es necesario (es decir, establecer la propiedad de sólo lectura en no editable columnas, ocultar columnas no relevantes.)

En lo que se refiere a datos dinámicos, la documentación actualmente no existe. Hay MUCHAS cosas que hacen referencia a versiones anteriores que no funcionan del todo ahora. Vi los videos here y seguí los pasos here, pero finalmente encontré problemas cuando traté de ocultar columnas no editables. La instrucción de actualización generada por linq no hizo referencia a la clave principal y recibí el error Row not found or changed. Me di por vencido y usé la solución anterior.

¡Espero que esto ayude a alguien más en el futuro!

4

Pruebe DynamicData de microsoft, integrado en asp.net 4, disponible como descarga para versiones anteriores.

1
+5

Eso es exactamente lo que he estado haciendo durante años y me da ganas de sacar mis ojos con un palo afilado ... –

+0

Por favor, marque la respuesta seleccionada (usando la marca verde). Bajar la votación de otras respuestas que no son las óptimas no es cómo funciona StackOverflow. (es decir, esta respuesta hace el trabajo). –

+0

Entiendo cómo funciona SO, y aprecio su aporte. Puede hacer el trabajo, pero no es lo que estaba buscando y no fue útil en este caso. (¿Cuándo se eliminó el límite de 24 horas para aceptar respuestas?) –

5

dinámico de datos es una forma muy fácil de editar tablas de bases de datos a través de ASP.Net. No tenía absolutamente ningún conocimiento de ello, pero configuré un sitio web para editar una pequeña base de datos en literalmente 5 minutos, usando uno de Scott Guthrie's blog posts. Manejó las relaciones de claves extranjeras simples que tenía también.

+0

Gracias por el enlace. Se ve muy cerca de lo que quiero. Lo investigaré más. Yo <3 te Gu. –

Cuestiones relacionadas