在MVC中显示几行文本

Display a few lines of a text in MVC

本文关键字:几行 文本 MVC 显示      更新时间:2023-09-26

我使用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)