我使用MVC3,想在博客系统中显示一篇文章的3行,然后添加一个链接到文章的其余部分,你可以在大多数博客中看到这样的例子
this is my View:
@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,但我不知道如何!
看起来您提供的示例删除了任何超过给定长度的额外文本。您也可以这样修改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)