首页 新闻 会员 周边

MVC @Html.TextBoxFor 格式化的问题

0
悬赏园豆:30 [已解决问题] 解决于 2014-10-30 00:26

需要使用

Html.TextBoxFor 辅助器方法显示数值数据

model中的值是 8925.000000

显示的时候,需要只保留两位小数

不知该如何实现。希望 指点一二。谢谢

 

不能使用Html.EditorFor() 因为需要为生成的控件 指定HTML特性

 

 

另外网上找到一个方法

@Html.TextBoxFor(model => model.StartDate, new { Value = String.Format("{0:yyyy-MM-dd}", Model.StartDate)})

可是自己这样做,发现没有任何效果

然后,自己试验了下,如下

@Html.TextBoxFor(model => model.StartDate, new { Value = 123 , Model.StartDate)})

网上的方法说能行,但是自己试验的结果 却完全没有效果 生成的HTML,控件的值 还是model中的值

算了的主页 算了 | 初学一级 | 园豆:3
提问于:2014-10-28 23:46
< >
分享
最佳答案
0

首先,对HtmlHelper添加扩展应该是理论上最佳的方案。

如果想快速显示,可以试试如下写法:

@Html.TextBoxFor(model => model.StartDate, new { Value = Model.StartDate.ToString("yyyy-MM-dd")}),

这句话的最后的参数是说:强制更改控件的value属性,注意,这个Value不能小写。

收获园豆:20
幻天芒 | 高人七级 |园豆:37175 | 2014-10-29 08:43

嗯 十分感谢,这个方法之前从网上也找到了,但是实验失败

经大侠指点  Value的V大写了,就成功了,哎 ,自己之前根本没想到是这个问题,十分感谢

算了 | 园豆:3 (初学一级) | 2014-10-30 00:23

@算了: :) 

幻天芒 | 园豆:37175 (高人七级) | 2014-10-30 08:59
其他回答(4)
0

 可以考虑对HtmlHelper添加扩展方法,专门来处理这种数据类型。

参考:http://blog.csdn.net/limlimlim/article/details/20620717 

收获园豆:6
袁家小黑球 | 园豆:1045 (小虾三级) | 2014-10-29 08:29

谢谢了,提供了一种思路,十分感谢

支持(0) 反对(0) 算了 | 园豆:3 (初学一级) | 2014-10-30 00:21
0

@Html.TextBoxFor(m => m.Total, "{0:0.00}")

收获园豆:3
Yu | 园豆:12980 (专家六级) | 2014-10-29 08:41

很遗憾提供的方法 实验后,不起作用。。。。。。

支持(0) 反对(0) 算了 | 园豆:3 (初学一级) | 2014-10-30 00:22

 在我的项目中起作用了

支持(0) 反对(0) T林飘叶 | 园豆:200 (初学一级) | 2017-11-08 15:35
0

model.field变为字符串

收获园豆:1
迅捷网络[来送福利] | 园豆:576 (小虾三级) | 2014-10-29 09:53

这个,还真不能这么做。。。。。

我是使用EF code first访问数据库的

且Model使用使用 Ef prow tool 生成的

修改的话 会与 数据库 表的类型不一致的。。。。。。。。。。。。。。。。。

支持(0) 反对(0) 算了 | 园豆:3 (初学一级) | 2014-10-30 00:25
2

这样

@Html.TextBoxFor(m => m.Birthday,"{0:yyyy-MM-dd}", new { @class = "m-wrap small", @readonly = "true" })

就可以了

markqian | 园豆:202 (菜鸟二级) | 2015-01-22 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册