14 messaggi dal 28 agosto 2019
Ciao Moreno,

ho trovato il progetto molto interessante e pulito.
Mi sfugge una cosa però, non capisco quando viene inizializzata la classe "DataTablesConfiguration" e come fà ad entrare direttamente nel "DataTablesConfigurationModelBinder".
E' questa dicitura [ModelBinder(typeof(DataTablesConfigurationModelBinder))]
che permette questo?

Grazie mille
11.792 messaggi dal 09 febbraio 2002
Contributi
Ciao,


E' questa dicitura [ModelBinder(typeof(DataTablesConfigurationModelBinder))]
che permette questo?

Sì, esatto.

ASP.NET Core dispone di un meccanismo chiamato "model binding" che agisce automaticamente e senza che tu debba abilitarlo in alcun modo.

Quando un utente invia una richiesta alla tua applicazione succede questo:
  • Viene selezionato un controller e un'action corrispondenti all'url. Ad esempio, se l'utente richiede /Customers verrà selezionato il CustomersController e la sua action Index;
  • I servizi di MVC si accorgono che l'action Index vuole che le sia passato un parametro di tipo DataTablesConfiguration e quindi coinvolgono il model binding così che possa creare un'istanza di quella classe;
  • Il model binding vede che sulla classe è posto un'attributo [ModelBinder(typeof(...))] e quindi delega la costruzione dell'oggetto DataTablesConfiguration al model binder del tipo indicato;
  • Il DataTablesConfigurationModelBinder, dunque, viene chiamato in causa. Lui è consapevole che si trova ad operare nel contesto dell'action Index del CustomersController, e perciò va a recuperare le informazioni relative a quell'action dal file di configurazione appsettings.json. E quindi le riversa in una nuova istanza dell'oggetto DataTablesConfiguration;
  • L'oggetto DataTablesConfiguration così costruito viene passato all'action come parametro.


ciao,
Moreno
Modificato da BrightSoul il 06 settembre 2019 14:15 -

Enjoy learning and just keep making
14 messaggi dal 28 agosto 2019
Capito, speciale!!

Grazie ancora.

Voi organizzate corsi per caso?
11.792 messaggi dal 09 febbraio 2002
Contributi
Ciao,
sì, qui trovi quelli organizzati da iCubed.
https://corsi.aspitalia.com/

Io invece ne sto tenendo uno su ASP.NET Core su Udemy.

ciao,
Moreno

Enjoy learning and just keep making
14 messaggi dal 28 agosto 2019
Ciao Moreno,

stavo provando il progetto DataTable con il mio database ma restituisce questo errore quando carico la pagina con la tabella:

"Il modulo filtro delle richieste è configurato per negare una richiesta quando la stringa di query è troppo lunga"

Devo aggiungere qualche impostazione?
In più volevo chiederti, le colonne di una tabella devono esserci tutte nella DataTable o posso scegliere quali voglio?
Modificato da FiliBen il 09 settembre 2019 17:32 -
11.792 messaggi dal 09 febbraio 2002
Contributi

Il modulo filtro delle richieste è configurato per negare una richiesta quando la stringa di query è troppo lunga

Giusto perché DataTables invia parecchi dati in query string, che contribuiscono ad allungare l'URL. Se l'URL è troppo lungo, il webserver potrebbe rifiutarsi di servire la richiesta perché pensa che sia un abuso. È proprio quello che sta succedendo nel tuo caso.

Per risolvere il problema, ho aggiornato il progetto per fare in modo che DataTables invii i suoi dati con il metodo POST. In questo modo non appariranno nell'URL ma verranno inviati come form data.


le colonne di una tabella devono esserci tutte nella DataTable o posso scegliere quali voglio?

Puoi scegliere le colonne che vuoi e in un ordine diverso rispetto a quello che hai nella tabella.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.