我想使用if / else语句来呈现我的数据。当列长度超过30个字符时,我想在此列上使用substring
函数,并使用' ...'呈现更短的数据。但它不起作用
@if (item.BOOK_Title.Length >= 30)
{
@{var display = item.BOOK_Title.Substring(0,30)+"...";}
@Html.DisplayFor(modea => display)
}
else
@Html.DisplayFor(modea => item.BOOK_Title)
请帮助,我不知道我的代码有什么问题。
答案 0 :(得分:2)
你只需要为else添加大括号。
@if (item.BOOK_Title.Length >= 30)
{
var display = item.BOOK_Title.Substring(0,30)+"...";
<text>@display</text>
}
else
{
<text>@Html.DisplayFor(modea => item.BOOK_Title)</text>
}
答案 1 :(得分:1)
你可能会发现使用Razor“Helper Function”更好,请参阅http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx
由于您可能会在多个地方使用它,因此可以很好地使用它们。
答案 2 :(得分:0)
在剃须刀中,你的积木需要括号:
@if (item.BOOK_Title.Length >= 30)
{
var display = item.BOOK_Title.Substring(0,30)+"...";
Html.DisplayFor(modea => display)
}
else
{
Html.DisplayFor(modea => display)
}