Avere 2 DynamicData

venerdì 04 maggio 2012 - 16.23
Tag Elenco Tags  C#  |  .NET 4.0  |  Visual Studio 2010

diegoooo82 Profilo | Junior Member

Ciao a tutti ragazzi,
sto facendo una applicazione web tutta basata su Entity Framework, le pagine dynamic data sono molto utili per me lato admin ma diciamo che consentirebbero un po troppo agli utenti normali che le andrebbero ad utilizzare
è possibilile creare altre pagine Dynamic Data che non usino tutte le tabelle ma solo alcune?

Grazie
Diego Mancinelli

Gluck74 Profilo | Guru

in teoria le Dynamic Data sono pensate per sezioni ADMIN, quindi (sempre in teoria) non hanno la necessità di nascondere alcune tebelle piuttosto che altre.

Potresti adottare 2 soluzioni diverse:
1 - Creare 2 progetti Linq2Entities diversi, uno per gli Admin, uno per gli altri utenti, dove puoi mettere solo le tabelle che ti interessano
2 - Personalizzare i controlli standard di Dynamic Data

per fare questo dovresti:
a - mettere a false la voce ScaffoldAllTables nel file global.asax del tuo progetto web Dynamic Data
model.registerContext ( typeof(SampleDBDataContext), new ContextConfiguration() { ScaffoldAllTables=false });
b - Creare una classe nel progetto Linq2Entities.Data per ogni tabella da voler visualizzare
[Scaffoldtable(true)] public partial class <nomeDellaClasseLinqContext> { }
c - Creare i metaDataType per gli attributi da voler personalizzare per nascondere quelli che non interessano
[Scaffoldtable(true)] [MetadataType(typeof(<Nomedellaclasse>Metadata))] public partial class <nomeDellaClasseLinqContext> { } public class <Nomedellaclasse>Metadata { [ScaffoldColumn(false)] public object property1 [ScaffoldColumn(false)] public object property2 [ScaffoldColumn(false)] public object property3 }
d - modificare/fare override dei controlli/pagine.
Copia ad esempio il controllo /DynamicData/PageTemplates/List.aspx dentro /DynamicData/CustomPages/<nomeDellaCollectionLinq/List.aspx
esempio, se nel tuo database hai una tabella "Contact", e nelle entities hai "Contacts":
/DynamicData/CustomPages/Contacts/List.aspx.
A questo punto puoi modificare a piacere la nuova List.aspx (occhi al NameSpace)

Ciao, fammi sapere

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

diegoooo82 Profilo | Junior Member

Ho capito
Grazie dei consigli
faccio qualche test
Diego Mancinelli
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5