2016-11-29 53 views
0

Theres是一个让我感到厌烦的东西。TextBoxFor vs EditorFor在MVC中的日期

在同一页上,我从绑定的数据库中的日期使用此:

@Html.TextBoxFor(t => t.dossier_ele.Date_depart, "{0:dd-MM-yyyy}") 

使用一个在这里,我不能在回发CONTROLER retreive值...

但是,如果我使用下面的一个:

@Html.EditorFor(t => t.dossier_ele.Date_depart, new { DisplayMode = "{0:dd-MM-yyyy}" }) 

然后一切都很好的程序明智;我收回我的价值很好,但!它不会在此格式化日期,如果可能的话,我也希望能为此提供帮助。

其实,我想,无论之间:第一个回发正确,或正确的一个Seconde系列格式...

请注意,第一个例子是TextBoxFor,第二个是一个EditorFor和我的VAR Date_depart从正在添加数据库,所以我不能将其应用于任何标签...(可以吗?)

在我的模型,这是表:

public dossiers dossier_ele { get; set; } // I can access in model.dossier_ele.Date_depart 

dossiers它是一个包含许多领域

大概不会有用的,但在这里,我整个模型的实体框架数据库对象:

public class FormulaireMod 
{ 
    DateTime reference = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); 

    public string Fiche { get; set; } 

    public E_Ele eleveJade { get; set; } 
    public E_Freq Frequentation { get; set; } 
    public string Année { get; set; } 

    public string tel { get; set; } 

    public string user { get; set; } 


    public int dos_TypeEntrevu { get; set; } 


    public int dos_raisonDepart { get; set; } 

    public dossiers dossier_ele { get; set; } 

    public ApplicationMVC donneApp { get; set; } 

    public suivis suivis_ele { get; set; } 

    public dossiers_pro projet_ele { get; set; } 
} 
+0

这里是你的答案http://stackoverflow.com/a/7462514假设你在美国,你必须指定格式为“yyyy-mm-dd”,默认的模型绑定才能用于你的DateTime模型属性。 – Zack

+1

可能的重复[ASP.NET MVC期望使用DateTime以便模型绑定可以正常工作?](http://stackoverflow.com/questions/7462474/what-formats-does-asp-net-mvc- expect-for-datetime-so-the-the-model-binding-will) – Zack

+0

请注意,在英文中,当提及自己时,字母I应该大写。出于其他原因,当您编辑您的问题时,我已经开始编辑您的问题。另外,标点通常紧接在前面的词后面,没有空格。 –

回答

2

尝试在你的模型中定义的日期格式。 像这样:

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 
public DateTime Date_depart{ get; set; } 

使用@Html.TextBoxFor(t => t.dossier_ele.Date_depart)在你的页面。

+0

我想使用您的标记,但var Date_depart直接从数据库中来,我不认为我可以在自动生成的字段上应用这样的标签 –

+0

@Antoine你是什么意思直接从数据库中来的? 'Date_depart'是表示数据库中表的类中的一个属性。 –

+0

耶看到我的编辑它的解释 –