C# ASP.Net MVC 3更改模型项
我想更改HTML页面中模型项的内容。 我正在数据库中以下一种格式保存日期时间:yyyyMMddHHmmss 我想在HTML页面中显示下一种格式:dd-MM-yyy-HH-MM-ss 我该怎么做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
<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;
}