ASP.NET MVC Отображение длины столбца - PullRequest
1 голос
/ 16 декабря 2011

Я хотел бы использовать оператор 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)

Пожалуйста, помогите, я не знаю, что не так с моим кодом.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

Вам просто нужно добавить скобки для остальных.

@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 голос
/ 16 декабря 2011

Может оказаться, что лучше использовать «вспомогательную функцию» Razor, см. http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx

Поскольку вы, вероятно, будете использовать это более чем в одном месте, их очень удобно использовать.

0 голосов
/ 16 декабря 2011

В бритве у ваших блоков должны быть фигурные скобки:

@if (item.BOOK_Title.Length >= 30)
{
    var display = item.BOOK_Title.Substring(0,30)+"...";
    Html.DisplayFor(modea => display)
}
else
{
    Html.DisplayFor(modea => display)
}
...