Principiante ASP MVC / Sharp-Architecture: in che modo le azioni ottengono entità di dominio come input?

StackOverflow https://stackoverflow.com/questions/1418271

Domanda

Sto provando Sharp-Architecture (e ASP.NET MVC) per un nuovo progetto dopo essere stato ai margini di quella community per un po 'e sono un po' confuso. Dopo la generazione del modello di entità standard ho creato un messaggio di classe e posso elencarli, crearli, modificarli ed eliminarli.

Sto osservando l'azione Modifica (messaggio) e non riesco proprio a capire come ottenga un tipo di messaggio di input. Fai clic su btnSave che invia il modulo a Messaggi / Modifica? Id = 1 e poi cosa succede? È una convenzione definita da qualche parte? In tal caso dove?

È stato utile?

Soluzione

Il raccoglitore modello predefinito sta facendo il lavoro per te. Riflette sull'azione del controller, cerca di rinnovare i tipi di oggetto negli argomenti che ha trovato tramite reflection, quindi legge il formcollection e prova a fare un po 'di analisi per abbinare le chiavi del formcollection ai valori appropriati nell'oggetto nuovo.

Dico di analizzare perché è possibile rappresentare oggetti che non sono completamente piatti nelle viste e il raccoglitore di modelli predefinito può spesso farli nel modo giusto. Anche se non l'ho fatto in quanto non ho un buon caso d'uso per esso, potrebbe essere possibile passare più oggetti e fare in modo che il raccoglitore modello lo ottenga. In caso contrario, potrebbe non essere troppo orribile scriverne uno che potrebbe.

Altri suggerimenti

Penso che quando usi una vista fortemente tipizzata il framework automaticamente new crea un oggetto del tipo corretto per te e lo passa all'azione del controller, ispezionando tutti gli input del modulo e usando un po 'di riflessione per popolare le proprietà corrispondenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top