這適用於我的開發機器,但不適用於我的實際生產服務器。保存DateTime值在生產中不起作用MVC3服務器
我只是想註冊一個用戶,但出生日期必須格式化爲dd/mm/yyyy
。例如:28/09/1980
。
這在我的開發機器上工作得很好,我可以註冊並且正確保存了出生日期。
但在運行產品服務器上完全相同的代碼時,我得到的錯誤:
The value '29/08/1980' is not valid for Fecha de Nacimiento (dd-mm-aaaa):.
我應該尋找什麼可能會造成日期我的開發機器上保存correctl,但拒絕在生產中很好地工作?
如果我將值切換到09/28/1989
它可以正常工作,但由於日期格式化在玻利維亞這裏,我需要使用日然後月,然後年。
這裏的運行,當用戶點擊提交按鈕的[HttpPost]
操作方法:
[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);
}
}
哪一層失敗的原因? MVC還是保存到數據庫?根據提示,你有沒有試過28-08-1980? –
如果您包含執行保存併產生錯誤的代碼,它將有所幫助。但是如果我不得不猜測,我會建議檢查服務器上的語言環境設置 - 它可能沒有使用與您的開發盒相同的語言環境。 – Jason
@Jon Skeet:錯誤只在生產中觸發,所以我不能在那裏放置一個斷點來查看它實際發生的位置。如果我不得不猜測,我會說錯誤在ActionMetod中。 –