I’m working with the NerdDinner application trying to teach myself ASP.NET MVC. However, I have stumbled upon a problem with globalization, where my server presents floating point numbers with a comma as the decimal separator, but Virtual Earth map requires them with dots, which causes some problems.
I have already solved the issue with the mapping JavaScript in my views, but if I now try to post an edited dinner entry with dots as decimal separators the controller fails (throwing InvalidOperationException) when updating the model (in the UpdateModel() metod). I feel like I must set the proper culture somewhere in the controller as well, I tried it in OnActionExecuting() but that didn’t help.
I have just revisited the issue in a real project and finally found a working solution. Proper solution is to have a custom model binder for the type
decimal(anddecimal?if you’re using them):Then in Global.asax.cs in Application_Start():
Note that code is not mine, I actually found it at Kristof Neirynck’s blog here. I just edited a few lines and am adding the binder for a specific data type, not replacing the default binder.