我如何添加'阅读模式'或者'继续'对于任何文章,这个'阅读更多'将在文章的简短描述后出现。我是否需要单独保存数据库中的简短描述?或者,有没有办法解决它,家庭饲料中出现的字符数量和生成“更多”'动态链接??
答案 0 :(得分:0)
您不能单独存储简短描述,因为您在数据库中复制数据并且没有实际收益。使用String可以轻松获得短文本。 SUBSTR。有很多JavaScript库可以让你像jQuery https://github.com/viralpatel/jquery.shorten
那样自动处理这个答案 1 :(得分:0)
您可以像这样限制剃刀视图中的字符串;
//假设您要显示文章的前100个字符,并提供指向完整文章的链接,
@myarticle.body.Substring(0,100) @Html.ActionLink("Read More", "Details", new {Id=myarticle.id})
如果您想在点击“阅读更多”后在同一页面中显示您的文章,您可以通过ajax调用获得完整的文章/。
答案 2 :(得分:0)
您可以将简短描述保存为单独的列,但我不会尝试复制数据(如上所述slvperron)。这真的取决于你的要求。
一些新闻网站有:
News {
title : String, // displayed in heading
summary : String, // summarises the article, displayed in bold or other bg
content : String, // the rest of the article
}
此设置为(HTML)标记提供了更大的灵活性。一个简单的substring(0,100)
可能会破坏中间某处的标记标记,并强制浏览器无法正确呈现。
答案 3 :(得分:0)
您可以使用css显示单行摘要和jquery以在其与全文版本之间切换
HTML
<div class="summary text">@Model.YourReallyLongTextProperty</div>
<a href="#">more</a>
CSS
.summary {
width:250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
脚本
$('a').click(function() {
var text = $(this).prev('.text');
text.toggleClass('summary');
if(text.hasClass('summary')) {
$(this).text('more');
} else {
$(this).text('less');
}
});