保存DateTime值在生产MVC3服务器上不工作

本文关键字:服务器 工作 MVC3 DateTime 保存 | 更新日期: 2023-09-27 18:08:25

这在我的开发机器上工作,但在我的实际生产服务器上不起作用。

我只是想注册一个用户,但是出生日期必须格式化为dd/mm/yyyy。例如:28/09/1980 .

这在我的开发机器上运行得很好,我可以注册并且它正确地保存了出生日期。

但是当在产品服务器上运行完全相同的代码时,我得到错误:

The value '29/08/1980' is not valid for Fecha de Nacimiento (dd-mm-aaaa):.

我应该寻找什么,什么可能导致日期在我的开发机器上正确保存,但拒绝在生产中正常工作?

如果我将值切换到09/28/1989,它工作得很好,但由于玻利维亚这里的日期格式,我需要使用日然后月,然后年。

当用户点击提交按钮时,[HttpPost] Action方法运行:

[HttpPost]
public ActionResult Register(UserModel model)
{
    EFCityRepository cityRepo = new EFCityRepository();
    model.Cities = new List<SelectListItem>();
    foreach (var city in cityRepo.FindAllCities())
    {
        model.Cities.Add(new SelectListItem { Text = city.Name, Value = city.CityId.ToString(), Selected = true });
    }
    EFGenderRepository genderRepo = new EFGenderRepository();
    model.Genders = new List<SelectListItem>();
    foreach (var gender in genderRepo.FindAllGenders())
    {
        model.Genders.Add(new SelectListItem { Text = gender.Name, Value = gender.GenderId.ToString(), Selected = true });
    }
    if (ModelState.IsValid)
    {
        Domain.User user = Mapper.Map<UserModel, Site.Domain.User>(model);
        user.UserRoleId = 1;
        user.EmailVerificationCode = SecurityHelpers.GenerateRandomToken();
        user.IsActive = true;
        user.LancesSpent = 0;
        user.GoldShopPointsSpent = 0;
        user.LanceCreditBalance = 25;
        user.GoldShopCreditBalance = 0;
        user.DateOfRegistry = DateTime.Now;
        user.LastDateLogin = DateTime.Now;
        var result = userRepo.CreateUser(user);
        if (result == UserCreationResults.Ok)
        {
            SecurityHelpers.SendVerificationEmail(user.Email, user.UserId, user.EmailVerificationCode);
            FormsAuthentication.SetAuthCookie(model.Login, false /* createPersistentCookie */);
            return RedirectToAction("Index", "Home");
        }
        else
        {
            switch (result)
            {
                case UserCreationResults.UsernameExists:
                    ModelState.AddModelError("", "El nombre de usuario ya esta siendo utilizado.");
                    break;
                case UserCreationResults.EmailAlreadyExists:
                    ModelState.AddModelError("", "Ese correo ya esta en uso.");
                    break;
                case UserCreationResults.NicknameAlreadyExists:
                    ModelState.AddModelError("", "El nickname ya esta siendo utilizado.");
                    break;
                case UserCreationResults.UnknownError:
                    ModelState.AddModelError("", "Algo durante el registro. Por favor intente de nuevo.");
                    break;
                default:
                    break;
            }
        }
    }
    // If we got this far, something failed, redisplay form
    return View(model);
}
}

保存DateTime值在生产MVC3服务器上不工作

在web.config中设置区域性:

<globalization culture="es-BO" uiCulture="es-BO" />