C# ASP.Net MVC 3更改模型项

C# ASP.Net MVC 3更改模型项,c#,asp.net,asp.net-mvc,datetime,C#,Asp.net,Asp.net Mvc,Datetime,我想更改HTML页面中模型项的内容。 我正在数据库中以下一种格式保存日期时间:yyyyMMddHHmmss 我想在HTML页面中显示下一种格式:dd-MM-yyy-HH-MM-ss 我该怎么做 <tr> <td class="labels"> <label>Data/Hora Token Telemóvel:</label> </td> <td> @Html.TextBox("txtBoxNome

我想更改HTML页面中模型项的内容。 我正在数据库中以下一种格式保存日期时间:yyyyMMddHHmmss

我想在HTML页面中显示下一种格式:dd-MM-yyy-HH-MM-ss

我该怎么做

<tr>
  <td class="labels">
    <label>Data/Hora Token Telemóvel:</label>
  </td>
  <td>
    @Html.TextBox("txtBoxNome", @Html.DisplayFor(modelItem => item.cdts_token_phone), new { @readonly = "readonly", @disabled = "disabled"})
  </td>
</tr>

数据/Hora Token Telmóvel:
@TextBox(“txtBoxNome”、@Html.DisplayFor(modeleItem=>item.cdts\u token\u phone)、新的{@readonly=“readonly”、@disabled=“disabled”})

如果我理解正确,问题是将数据库中的字符串转换为视图中更合适的字符串(通过viewmodel):

您可以在模型中创建一个属性,该属性使用或(来自的伟大建议)解析您的格式


DisplayFormat
属性应该可以帮助您以所需的格式直接显示数据。

好的,我已经在Alexei的帮助下完成了。以下是我的解决方案:

    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
    [DataMemberAttribute()]
    public global::System.String cdts_token_phone
    {
        get
        {
            return cdtsToDT(_cdts_token_phone);
        }
        set
        {
            Oncdts_token_phoneChanging(value);
            ReportPropertyChanging("cdts_token_phone");
            _cdts_token_phone = StructuralObject.SetValidValue(value, true, "cdts_token_phone");
            ReportPropertyChanged("cdts_token_phone");
            Oncdts_token_phoneChanged();
        }
    }

private string cdtsToDT(string cdtsUT)
    {
        if(string.IsNullOrEmpty(cdtsUT))
            return string.Empty;

        DateTime _newDT = new DateTime(int.Parse(cdtsUT.Substring(0, 4)), int.Parse(cdtsUT.Substring(4, 2)),
                int.Parse(cdtsUT.Substring(6, 2)), int.Parse(cdtsUT.Substring(8, 2)),
                int.Parse(cdtsUT.Substring(10, 2)), int.Parse(cdtsUT.Substring(12, 2)));
        string cdts = _newDT.ToString("dd-MM-yyyy HH:mm:ss");
        return cdts;
    }

在将日期发送到视图之前,在控制器中设置日期格式。您可以查看日期的格式。@DrewKennedy谢谢您的回复。我知道格式是如何完成的,但我不知道如何发送到视图。我正在用数据库中的数据填充文本框。您使用的是什么数据库管理系统?为什么不使用合适的类型,如DATETIME或DATETIME2?是否有发送到视图的数据的视图模型?在html页面上,我有一个按钮,用于处理和刷新页面。这样,它会自动用数据库中的数据填充文本框。因此,我希望每次呈现html时,它总是使用我描述的格式的日期:dd-MM-yyy-HH-MM-ssThank。你向我展示了这种方式啊哈,我去了模型,添加了一个私有函数来转换为我想要的格式
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
    [DataMemberAttribute()]
    public global::System.String cdts_token_phone
    {
        get
        {
            return cdtsToDT(_cdts_token_phone);
        }
        set
        {
            Oncdts_token_phoneChanging(value);
            ReportPropertyChanging("cdts_token_phone");
            _cdts_token_phone = StructuralObject.SetValidValue(value, true, "cdts_token_phone");
            ReportPropertyChanged("cdts_token_phone");
            Oncdts_token_phoneChanged();
        }
    }

private string cdtsToDT(string cdtsUT)
    {
        if(string.IsNullOrEmpty(cdtsUT))
            return string.Empty;

        DateTime _newDT = new DateTime(int.Parse(cdtsUT.Substring(0, 4)), int.Parse(cdtsUT.Substring(4, 2)),
                int.Parse(cdtsUT.Substring(6, 2)), int.Parse(cdtsUT.Substring(8, 2)),
                int.Parse(cdtsUT.Substring(10, 2)), int.Parse(cdtsUT.Substring(12, 2)));
        string cdts = _newDT.ToString("dd-MM-yyyy HH:mm:ss");
        return cdts;
    }