Ciao a tutti.
Sto esplorando il mondo di ASP.NET MVC e sto realizzando una mia prima applicazione.
Premetto che finora ho sempre lavorato con le WebForms quindi conosco abbastanza bene il mondo C# ma il paradigma MVC è praticamente cosa nuova.
Sto cercando di realizzare un form molto semplice dove recuperare i dati relativi a Titolo, Sottotitolo e testo di un articolo
<form asp-controller="Backend" asp-action="InserimentoArticolo" method="post">
<input type="text" asp-for="TitoloArticolo" class="position-relative form-group" name="Titolo" placeholder="Titolo Articolo" />
<input type="text" asp-for="SottoTitoloArticolo" class="position-relative form-group" name="Sottotitolo" placeholder="Sottotitolo Articolo" />
<textarea id="TestoARticolo" asp-for="Testo" class="position-relative form-group" rows="4" cols="50">
</textarea>
<button> <i class="=fas fa-send"></i>Inserisci</button>
</form>
Una classe Articolo con diverse proprietà
public class Articolo
{
public int? Id { get; set; }
public String TitoloHeader { get; set; }
public String ImagePath { get; set; }
public String SottoTitoloHeader { get; set; }
public String TitoloArticolo { get; set; }
public String SottoTitoloArticolo { get; set; }
public String Testo { get; set; }
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public String dataArticolo { get; set; }
public String categoria { get; set; }
}
Ed infine il mio controller composto dalle due action di "inizializzazione" del form e di salvataggio.
// GET: Backend
public ActionResult InserimentoArticolo()
{
var model = new Articolo();
return View(model);
}
[HttpPost]
public ActionResult InserimentoArticolo(Articolo model)
{
return View();
}
}
Sono proprio basiche, così da capire il funzionamento.
Quando effettuo l'invio dei dati con il submit, il metodo relativo al POST viene richiamato correttamente, ma il Model Binding non avviene; infatti l'oggetto passato come parametro ha tutte le proprietà impostate a Null.
Com'è possibile?? Non riesco a capire dove sto sbagliando. Forse le proprietà devo coincidere tutte con gli input del form (ma mi sembrerebbe assurdo)
Qualcuno sa aiutarmi?