为什么我收到错误:
模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式
在这段代码:
@model IEnumerable<ArtSchoolProject.Models.Trainer>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_PageLayout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<ul class="trainers">
@foreach (var item in Model) {
<li>
<div>
<div class="left">
<a href="@Url.Action("Details", "Details", new { id = item.ID })">
<img src="~/Images/Trainer/@item.Picture" />
</a>
</div>
<div class="right">
@Html.ActionLink(item.Name,"Details",new {id=item.ID})
<br />
@Html.DisplayFor(modelItem=>@string. item.Description.ToString().Substring(0,100))
</div>
</div>
</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
在线:
@Html.DisplayFor(modelItem=>item.Description.ToString().Substring(0,100))
Run Code Online (Sandbox Code Playgroud)
更新:
问题解决了.我添加到我的代码中:
@{
string parameterValue = item.Description.ToString().Substring(0, 100);
}
@Html.DisplayFor(modelItem=>parameterValue)
Run Code Online (Sandbox Code Playgroud)
我的新代码:
@foreach (var item in Model) {
<li>
<div>
<div …Run Code Online (Sandbox Code Playgroud) 我目前正在开发 ASP.NET MVC 4.5 应用程序。
我尝试将模型中的属性渲染为正确的数值:
ViewModel 中的属性:
public decimal? Price { get; set; }
Run Code Online (Sandbox Code Playgroud)
来自数据库的数据如下所示:99999,99
我想要的格式如下:99.999,99
在我的剃刀视图中,我使用如下属性:
@Model.Price
Run Code Online (Sandbox Code Playgroud)
不幸的是它看起来仍然是这样的:99999.99
你知道我如何格式化该小数吗?我的观点正确吗?
还有没有不使用显示模板的解决方案?
谢谢!!!