asp.net-mvc – TextBoxFor中限制为2位小数

下面的代码工作正常,但在文本框中的十进制值具有此格式“0,0000”
(,是小数分隔符)。我想只有两个十进制。我如何做到这一点?

谢谢,

//Database model used with NHibernate
public class Bank
{
    public virtual int Id { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName{ get; set; }
    public virtual decimal Amount { get; set; }
}

//MVC Model
public class MyModel
{
    public Bank Bank { get; set; }  
}

//View
@Html.TextBoxFor(m => m.Bank.Amount,new { id = "tbAmount"})

更新1

在调试器中,我没有看到任何小数,wehn我一步一步地在里面(o @ HTML.Textbofor)的视图,该值没有任何小数,但是当页面显示有4个小数

//Database model used with NHibernate
public class Bank
{
    public virtual int Id { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName{ get; set; }
    public virtual decimal Amount { get; set; }
}

//Class for view
public class ViewBank
{
    [displayFormat(DataFormatString = "{0:n2}",ApplyFormatInEditMode = true)]
    public decimal Amount { get; set; }
}

//MVC Model
public class MyModel
{
    public Bank Bank { get; set; }      
    var ViewBank = new ViewBank() { Amount = Bank.Amount};
}

//View
@Html.TextBoxFor(m => m.Amount,new { id = "tbAmount"})

更新2

我做了一个小工作例子:http://goo.gl/RKtwY

解决方法

我会使用编辑器模板,我不会使用我的NHibernate域模型在我的意见。我将定义视图模型,这是专门针对给定视图的要求(在这种情况下限制到2小数的要求):
[displayFormat(DataFormatString = "{0:n2}",ApplyFormatInEditMode = true)]
public decimal Amount { get; set; }

接着:

@Html.EditorFor(m => m.Bank.Amount)

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...