Ho il seguente codice:dati di Scrittura quando la mia vista del modello ha un costruttore non funziona
[HttpGet]
public ActionResult Edit(int req)
{
var viewModel = new EditViewModel();
viewModel.RequestId = int;
return View(viewModel);
}
[HttpPost]
Public ActionResult Edit(EditViewModel viewModel)
{
// some code here...
}
Funziona benissimo: quando il modulo di modifica viene inviato, ho il regolatore di azione che è chiamato.
Ora mi modificare alcuni po 'il mio codice come questo:
[HttpGet]
public ActionResult Edit(int req)
{
var viewModel = new EditViewModel(req);
return View(viewModel);
}
[HttpPost]
Public ActionResult Edit(EditViewModel viewModel)
{
// some code here...
}
public class EditViewModel()
{
public EditViewModel(int req)
{
requestId = req;
}
...
}
In questa nuova versione, ho un modello di vista con un contructor.
Questa volta, quando il modulo viene postposto, il controller azione non viene mai attivato.
Qualche idea?
Grazie.
Grazie mille per questa risposta precisa. Il motivo per cui mi piacerebbe spostare del codice nel costruttore del mio modello di visualizzazione è di mantenere il mio controller il più leggero possibile. Ho un sacco di codice per "preparare" il mio modello di visualizzazione e "inquina" il mio controller ... La mia prima idea era quella di spostarlo nel costruttore del mio modello di visualizzazione. Forse questa non è una buona idea ... Cosa ne pensi? Grazie comunque. – Bronzato
@Bronzato Ho gli stessi requisiti come voi per passare qualche oggetto nel costruttore di vm e dovrebbe incapsulare come elaborarlo e impostare le sue proprietà. Stai usando la soluzione di cui sopra o ti appoggi qualsiasi altra soluzione per risolvere questo? –
Ho usato la soluzione suggerita sopra. – Bronzato