我正在使用MVC3并希望在Blogging系统中显示3行Post,然后添加一个链接以发布其余帖子,您可以在大多数博客中看到样本,例如this
这是我的观点:
@model IEnumerable<Blog.Web.UI.ViewModels.PostViewModel>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
@foreach (var item in Model)
{
<div>
<h3>
@Html.ActionLink(item.Title, "Post", "Blog", new { postId = item.Id, postSlug = item.UrlSlug }, null)
</h3>
</div>
<div>
<span>Category: </span>@item.Category
</div>
<div>
<span>Tag: </span>@item.Tag
</div>
<div>
@item.CreationDate.ToLongDateString()
</div>
<div>
@Html.DisplayTextFor(p => item.Body)
</div>
}
</div>
如图所示
@Html.DisplayTextFor(p => item.Body)
显示整个帖子,但我想像我引用的链接那样做,我认为可以通过javascript但我不知道如何!
答案 0 :(得分:1)
看起来您提供的示例会修剪超过给定长度的任何额外文本。您可以通过修改ViewModel来执行相同的操作:
class PostViewModel
{
public string Body {get;set;}
public string ShortBody
{
get
{
return Body.Length <= 140
? Body
: Body.Substring(0, 140) + "...";
}
}
}
然后将DisplayTextFor行更改为:
@Html.DisplayTextFor(p => item.ShortBody)