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

前端之家收集整理的这篇文章主要介绍了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)
原文链接:https://www.f2er.com/aspnet/254600.html

猜你在找的asp.Net相关文章