Get the App
SLTechnology News&Howtos  ›  Development  › 

How to solve the problem of null after asp.net mvc UpdateModel updates objects

Shulou Source: shulou.com Published: 2022-06-03 19:58:39 09月10日 Update

This article introduces the relevant knowledge of "how to solve the problem of null after updating objects in asp.net mvc UpdateModel". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

This is the situation encountered when working on a project with asp.net mvc 4.0:

Situation analysis:

"when filling out the form, there are some forms that are not filled out, leave them blank, and then submit the form directly by post. Action uses UpdateModel to update model, and it turns out that all the unfilled form fields become null."

Cause analysis:

It was determined in the project that null could not submit updates to the database, so it could not be submitted all the time.

Later, I looked it up on the Internet and found a solution. I would like to share it here. It is convenient for friends who encounter this kind of situation in the future.

Solution:

Create a new class that inherits DefaultModelBinder

Using System.ComponentModel;using System.Web.Mvc;namespace CustomerWebsite.Mvc {public sealed class EmptyStringToNullModelBinder: DefaultModelBinder {protected override void SetProperty (ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, object value) {if (value = = null & & propertyDescriptor.PropertyType = = typeof (string)) {value = string.Empty;} base.SetProperty (controllerContext, bindingContext, propertyDescriptor, value);}}

Then replace DefaultModelBinder in Global.asax 's Application_Start

ModelBinders.Binders.DefaultBinder = new EmptyStringToNullModelBinder (); "how to solve the problem of null after asp.net mvc UpdateModel updates objects" ends here. Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Update situation form object problem content time more knowledge project analysis practicality achievement next use method reason cause analysis dilemma field Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno OPPO Reno Huawei Apple Xiaomi Docker