Je reçois cette erreur lorsque j'appelle l'action d'édition de l'un de mes contrôleurs.Html.TextBox() throws System.NullReferenceException
Voici le code C# de la méthode d'action Edit
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(cedetails detailToEdit)
{
validateDetail(detailToEdit);
if (!ModelState.IsValid)
return View();
try
{
var originaldetail = (from d in entity1.cedetails
where d.detail_id == detailToEdit.detail_id
select d).FirstOrDefault();
entity1.ApplyPropertyChanges(originaldetail.EntityKey.EntitySetName, detailToEdit);
entity1.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Ceci est la validateDetail Méthode:
protected void validateDetail(cedetails detailToValidate)
{
if (detailToValidate.c_name.Trim().Length == 0)
ModelState.AddModelError("c_name", "C name is required.");
ModelState.SetModelValue("c_name", ValueProvider["c_name"]);
if (detailToValidate.a_server.Trim().Length == 0)
ModelState.AddModelError("a_server", "A server is required.");
ModelState.SetModelValue("a_server", ValueProvider["a_server"]);
if (detailToValidate.d_server.Trim().Length == 0)
ModelState.AddModelError("d_server", "D server is required.");
ModelState.SetModelValue("d_server", ValueProvider["d_server"]);
if (detailToValidate.l_server.Trim().Length == 0)
ModelState.AddModelError("l_server", "L server is required.");
ModelState.SetModelValue("l_server", ValueProvider["l_server"]);
if (detailToValidate.url.Trim().Length == 0)
ModelState.AddModelError("url", "URL is required.");
ModelState.SetModelValue("url", ValueProvider["url"]);
if (detailToValidate.s_id.Trim().Length == 0)
ModelState.AddModelError("s_id", "S ID is required.");
ModelState.SetModelValue("s_id", ValueProvider["s_id"]);
}
Je reçois l'erreur dans cette ligne:
<%= Html.TextBox("c_name", Model.c_name) %>
Détails de l'exception: System.NullReferenceException: Object referen ce n'est pas une instance d'un objet.
J'ai cherché cette erreur et est arrivé sur plusieurs solutions, mais aucun d'eux n'a fonctionné pour moi. S'il vous plaît laissez-moi savoir si cela peut être résolu du tout. J'ajouterai aussi que j'ai choisi de cacher certaines colonnes de la table, y compris detail_id, en ne les affichant pas.
Presque tous les cas de 'NullReferenceException' sont identiques. S'il vous plaît voir "[Qu'est-ce qu'une NullReferenceException dans .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)" pour quelques conseils. –