2010-06-04 7 views
6

Ho bisogno di fornire un modo per gli utenti di modificare tabelle in ASP.Net. Le tabelle sono semplici (nessuna relazione principale/dettaglio), ma è probabile che ce ne siano molte. Qual è il modo più veloce/semplice per fornire un'interfaccia di visualizzazione/modifica a un tavolo, anche considerando le opzioni commerciali (ma non Iron Speed ​​Designer. Quella cosa è ridicolmente costosa per quello di cui ho bisogno)?Modifica tabelle con ASP.Net - Quick 'n Dirty

Nella sua configurazione più semplice/ideale, vorrei puntare a un controllo su un tavolo ed essere fatto. Ho esaminato alcune soluzioni ORM, ma tutti loro cercano di essere un coltellino svizzero che accumula solo complessità e tende a essere bestie a se stesse.

C'è qualcosa di pazzo che può aiutarmi qui? O dovrei semplicemente tuffarmi in SubSonic o qualcosa di simile?

+0

Sembra che Dynamic Data sia un vincitore, ma qualcuno ha qualche buona conoscenza di SubSonic rispetto ai dati dinamici? SubSonic è il progetto di Haack, giusto? Quindi entrambi sono di Microsoft ora? Qualcuno può dare un tono di ascensore sulle differenze? Forse anche una rapida demo simile a quella collegata da Graham Clark in basso? Questa frase aggiunta per non avere il mio intero commento fatto di domande. –

+0

SubSonic non è un progetto di Haack, né di Microsoft, ma credo che Phil Haack abbia contribuito a SubSonic. SubSonic è un ORM e sembra che tu non voglia un ORM. –

risposta

5

Dopo alcune ricerche, la cosa più rapida che ho trovato risulta essere l'utilizzo di linq in sql con un GridView. Stavo cercando una soluzione che possa facilmente integrarsi nelle pagine esistenti. Senza il vantaggio di auto-scaffolding e pagine generate, Dynamic Data manca il segno. Il 99% di ciò che volevo era evitare di entrare nella scrittura di istruzioni SQL e gestire manualmente UpdateCommands.

Ecco i passaggi che ho scritto per il mio riferimento personale. Essa si basa pesantemente sui progettisti, ma per quello che mi serve, questo è perfetto:

  1. Nuovo progetto (o progetto esistente)
  2. Aggiungi file di LinqToSqlClass proiettare
  3. aggiungere tabelle rilevanti dal DataSource di progettazione (usare explorer server)
  4. progetto di costruzione (in modo che DataContext classe verrà generata)
  5. Vai alla pagina aspx
  6. trascinare un oggetto LinqDataSource dalla cassetta degli attrezzi.
  7. Configura origine dati (assicurati di attivare l'aggiornamento, se necessario)
  8. Trascinare un GridView dalla cassetta degli attrezzi
  9. Set DataSource per LinqDataSource oggetto appena creato
  10. Personalizza colonne, se necessario (ad esempio, impostare la proprietà di sola lettura sulla non modificabile colonne, nascondere le colonne non rilevanti.)

Per quanto riguarda i dati dinamici, la documentazione è attualmente carente. C'è un sacco di cose che fanno riferimento a versioni precedenti che non funzionano allo stesso modo ora. Ho visto i video here e ho seguito i passaggi here, ma alla fine ho incontrato dei problemi quando ho provato a nascondere le colonne non modificabili. L'istruzione di aggiornamento generata da linq non ha fatto riferimento alla chiave primaria e ho ricevuto l'errore Row not found or changed. Ho rinunciato e ho usato la soluzione sopra.

Spero che questo aiuti qualcun altro in futuro!

4

Provare DynamicData da microsoft, integrato in asp.net 4, disponibile come download per le versioni precedenti.

1
+5

Questo è esattamente quello che ho fatto per anni che mi fa venir voglia di distogliere gli occhi con uno stick affilato ... –

+0

Contrassegnare la risposta selezionata come risposta (usando il segno di spunta verde). Il downvoting di altre risposte che non sono quelle ottimali non è il modo in cui funziona StackOverflow. (cioè questa risposta ottiene il lavoro fatto). –

+0

Capisco come funziona SO, e apprezzo il tuo contributo. Potrebbe portare a termine il lavoro, ma non è affatto quello che stavo cercando e in questo caso non è stato utile. (quando è stato rimosso il limite di 24 ore per accettare le risposte?) –

5

Dynamic Data è un modo molto semplice per modificare le tabelle del database tramite ASP.Net. Non ne avevo assolutamente conoscenza, ma ho creato un sito Web per modificare un piccolo database in soli 5 minuti, usando uno dei Scott Guthrie's blog posts. Ha gestito le semplici relazioni con le chiavi estranee che avevo anche io.

+0

Grazie per il collegamento. Sembra molto vicino a quello che voglio. Lo esamineremo ulteriormente. Io <3 teh Gu. –