我有双阵列在我的视图模型,我想申请一个数据格式字符串像图所示:如何在MVC Razor中的数组或IEnumerable对象上应用DataFormatString?
class MyVM
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:F2}")]
public double Currents[] { get; set; }
}
在我看来,我使用EditorFor阵列上如下图所示,这除了不应用数据格式字符串之外,它正常工作。
@Html.EditorFor(model => model.Currents)
我知道我可以使用自定义模板,但想知道是否有比创建自定义模板更简单的方法。如果自定义模板是唯一的解决方案,那么最简单的自定义模板应该关注格式?我试图创建一个,但没有正确应用数据格式字符串。
我可以在〜视图创建CurrentsTemplate.cshtml \共享文件夹与下面内容
@model double[]
@foreach (double x in Model) {
<div class="editor-field">
@Html.TextBoxFor(m=>x, "{0:F2}")
</div>
}
,并使用该通过调用@ Html.EditorFor(M => m.Currents, “CurrentsTemplate”) ,它会工作,但表单数据在POST后不会持久。猜猜我在for循环中需要隐藏字段以及TextBox。
尝试没有阵列即使用电流而不是电流[] – 2013-03-06 03:34:29
对不起那不是一个选项...需要因为它的地段数组的数字 – Raj 2013-03-06 03:38:25
与@Husein Roncevic一起回答 – Satpal 2013-03-06 09:00:16