2

伊朗以色列沙特阿拉伯等一些国家使用他们的特殊日历。例如公历日期“ 2012-12-11 ”在伊朗历中是“ 1391-09-21 ”。由于许多原因(例如数据库功能),我们决定将日期变量以公历日期格式存储在数据库中。当我们想要为此构建 UI 时,挑战就开始了。在asp.net mvc其中很容易创建模板并将DateTime变量更改为合适的格式。但问题在于模型绑定器无法识别返回值的mvc发(请注意,月份中的天数与公历日期不相等)。解决此问题的一种方法是解析传入的结果,例如:

[HttpPost]        
public ActionResult Create(Content person,string customBirthdayDate)
{   
     person.Birthday = CustomDateTimeHelper.Parse(customBirthdayDate);
     Service.Save(person);            
     return RedirectToAction("List");  
}

哪个工作正常,但我正在寻找更好的解决方案。一个想法是将模型更改为:

public class Person
{
    public int Id{set;get;}
    public string Name{set;get;}
    public DateTime Birthday{set;get;}
    public string CustomBirthdayDate
    {
      set{Birthday = CustomDateTimeHelper.Parse(value);}
      get{return CustomDateTimeHelper.ConvertToCustomDate(Birthday); }
    }
}

在这种方法中,不需要在 Controllers Action 中编写额外的代码。有更好的主意吗??谢谢你。

4

0 回答 0