MVC3 Valeur ne peut pas être null. Nom du paramètre: valeur
Je suis en train de charger des données d'un utilisateur de le modifier et l'enregistrer. cela a été de travail et je ne suis pas tout à fait sûr de ce que j'ai changé, mais maintenant, je reçois le message d'erreur suivant...
Value cannot be null.
Parameter name: value
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: value
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentNullException: Value cannot be null.
Parameter name: value]
System.ComponentModel.DataAnnotations.ValidationContext.set_DisplayName(String value) +51903
System.Web.Mvc.<Validate>d__1.MoveNext() +135
System.Web.Mvc.<Validate>d__5.MoveNext() +318
System.Web.Mvc.DefaultModelBinder.OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext) +139
System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +66
System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +1367
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +449
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +317
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
System.Web.Mvc.Controller.ExecuteCore() +116
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8897857
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184
public ActionResult EditDetails()
{
int id = Convert.ToInt32(Session["user"]);
S1_Customers u1_users = storeDB.S1_Customers.Find(id);
return View(u1_users);
}
[HttpPost]
public ActionResult EditDetails(S1_Customers u1_users)
{
var Pcode = "";
if (ModelState.IsValid)
{
Je ne suis même pas atteindre ModelState.IsValid lorsque je clique sur soumettre
- Merci de poster votre modèle-code, et l'action que vous appelez pour enregistrer ce.. Semble qu'il y a quelques problèmes avec la validation, mais il faut plus d'information.... Pourquoi cette question, obtenir un vote?
Vous devez vous connecter pour publier un commentaire.
Avez-vous changé des noms? Le formulaire de noms de carte 1-1 avec vos paramètres de l'Action. Dans ce cas, le paramètre "name" n'était pas passé à l'action du contrôleur, donc il est nul.
Je devine besoin de plus d'informations (signature de la méthode d'action)
[Display(Name = " ")]
. Notez l'espace vierge de caractère.Vous recevez cette erreur si vous avez quelques propriétés décoré par DisplayAttribute avec un Nom vide
([DisplayAttribute(Name = "", Description = "Any description")])
Si vous utilisez [Display(Name="")] comme pour les propriétés de votre modèle, Ce sera la cause de l'erreur que vous obtenez. Pour résoudre ce problème, vous devez éviter d'utiliser l'affichage vide nom d'attribut.
Il pourrait très probablement être que votre modèle a une propriété qui renvoie non nullable de la valeur, comme
int
,DateTime
,double
etc. Et si l'utilisateur est mise à jour de l'entrée que vous n'êtes probablement pas stocker cette valeur dans un champ caché ou quelque part, de sorte que lorsque les données sont renvoyées cette propriété est null. Soit la place que propriété dans un champ caché ou faire de votre propriété nullable dans un modèle en changeant de type int int?, etc.Je recevais ce même message d'erreur lors de la configuration manuelle d'un
@Html.TextArea
, j'avais utilisé le code à partir d'un@Html.TextBox(null, this.Model)
dans un EditorTemplate et quand j'ai fait@Html.TextArea(null, this.Model)
j'ai obtenu l'erreur ci-dessus.S'avère que vous avez à faire
@Html.TextArea("", this.Model)
et il fonctionne.