我遇到的问题是,当model属性为小数时,@ Html.DisplayFor不会在浏览器中呈现值。请注意,双重类型可以正确显示。另一个奇怪的事情是,一旦我将代码提升到生产服务器,就会显示...所以这只是我本地笔记本电脑上的一个问题。
以下是我正在测试的模型:
public decimal Test { get { return (decimal)105.35;} }
public decimal? TestNullable { get { return (decimal)105.35; } }
public double TestDbl { get { return 105.35; } }
public double? TestNullableDbl { get { return 105.35; } }
这是标记:
@Html.DisplayFor(model => model.Test)
<br />
@Html.DisplayFor(model => model.TestNullable)
<br />
@Html.DisplayFor(model => model.TestDbl)
<br />
@Html.DisplayFor(model => model.TestNullableDbl)
以下是html中呈现的内容:
<br>
<br>
105.35
<br>
105.35
请注意,双显示
答案 0 :(得分:0)
我刚从头开始创建一个新的MVC 4项目进行测试,无法复制您的问题。鉴于此,你的本地配置必须有一些不太正确的东西(不匹配的程序集与服务器上安装的程序集,名为decimal的显示模板,名为decimal的类,如果没有更多信息,它真的不清楚)
使用VS 2013,.NET 4.5,Windows 8.1 64位
查看模型
public class TestViewModel
{
public decimal Test { get { return (decimal)105.35; } }
public decimal? TestNullable { get { return (decimal)105.35; } }
public double TestDbl { get { return 105.35; } }
public double? TestNullableDbl { get { return 105.35; } }
}
<强>控制器强>
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View(new TestViewModel());
}
}
查看强>
@model MvcApplication1.Models.TestViewModel
@{
ViewBag.Title = "Home";
}
<h2>Home</h2>
@Html.DisplayFor(model => model.Test)
<br />
@Html.DisplayFor(model => model.TestNullable)
<br />
@Html.DisplayFor(model => model.TestDbl)
<br />
@Html.DisplayFor(model => model.TestNullableDbl)
结果HTML
<body>
<h2>Home</h2>
105.35
<br />
105.35
<br />
105.35
<br />
105.35
<script src="/Scripts/jquery-1.8.2.js"></script>
</body>