Buonasera Moreno,
ho provato ad inserire i dati manualmente nel controller per vedere se il problem fosse nella views in relatà cambia l'errore. questo è il codice del controller:
public ActionResult Create()
{
ViewBag.UserId = new SelectList(db.Users, "Id", "Nome");
return View();
}
// POST: Note/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "idNota,nota,dataIns,UserId")] Nota nota)
{
nota.nota = "nota di test";
nota.dataIns = DateTime.Now;
nota.UserId = "157de909-00d7-46ac-98ae-073e85a0a323";
if (ModelState.IsValid)
{
db.Note.Add(nota);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.UserId = new SelectList(db.Users, "Id", "Nome", nota.UserId);
return View(nota);
}
questi l'errore: Riferimento a un oggetto non impostato su un'istanza di oggetto. Errore nella riga 55
Riga 53:
Riga 54:
Riga 55: nota.nota = "nota di test";
Riga 56: nota.dataIns = DateTime.Now;
Riga 57: nota.UserId = "157de909-00d7-46ac-98ae-073e85a0a323";
Proprio non capisco.. nella views rimettendo le cose come erano e mettando dati che utilizzo in appuntamenti senza riscontrare problemi (come la data) mi da quell'errore.. per essere ancora più preciso ti posto quello che scrivo nella views:
Nota: nota di prova
data: 10/10/2010 00:00:00
utente: (quello presente nella dropdownList)
Chiarmanete se inserisco i dati manualmente nel database li visualizza nella index del controller ma se faccio edita aggiungendo una lettera alla nota ho gli stessi errori.
Se commento la riga 60 del primo errore, ho errore nella views e non risolvo nulla, comunque la riga di errore commentando quella riga è questo:(scusa per il gioco di parole)
Nessun elemento ViewData di tipo 'IEnumerable<SelectListItem>' con chiave 'UserId'. errore nella riga 37
Riga 35: @Html.LabelFor(model => model.UserId, "UserId", htmlAttributes: new { @class = "control-label col-md-2" })
Riga 36: <div class="col-md-10">
Riga 37: @Html.DropDownList("UserId", null, htmlAttributes: new { @class = "form-control" })
Riga 38: @Html.ValidationMessageFor(model => model.UserId, "", new { @class = "text-danger" })
Riga 39: </div>
Ho usato gli strumenti di sviluppo del browser, sono andato in Rete e i dati che manda sono giusti ovvero:
datains:10/10/2010+00:00:00 (ho provato per curiosità a rimuovere l'ora ma non cambia nulla)
nota: questa è una nota di test
Userid: 5536dac2-cb04-42b5-905e-0aa1c4dc99e9
Proprio non riesco a capire come fa a non funzionare ne il create ne l'edita, scusami se non sono stato precisissimo nel darti le info.