4
我有一个自定义类型的钱为我的ViewModel:在ASP.NET使用Html.EditorFor()定制型MVC
public class Money
{
public Money(decimal value)
{
Value = value;
}
public decimal Value { get; private set; }
public override string ToString()
{
return string.Format("{0:0.00}", Value);
}
}
,我想通过HTML.EditorFor(viewModel => viewModel.MyMoneyProperty)
呈现在ASP.NET MVC一个文本框,但它不起作用。是否有我必须在Money中实现的特殊界面?
最好的问候和感谢提前,
斯特芬
感谢这对我帮助很大。我添加了一个Text属性,并在getter和setter中进行了转换。然后我将它绑定在视图中。 – forki23 2011-02-23 19:34:01
仍然存在一个问题。现在,HTML代码中的所有id都以_text作为后缀。我怎样才能避免这种情况? – forki23 2011-02-24 10:17:51
@ forki23,发生这种情况是因为您添加了“文本”属性,并且文本框助手正在使用它。您可能需要一个修改ID的自定义助手,但这是我不会做的事情。让助手生成任何它喜欢的ID,因为这样它们将保证是唯一的。如果你开始搞砸ID,那就有风险。 – 2011-02-24 10:38:11