这里有人可以帮助我吗?我有以下代码:
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var node = @Model.NodeById(1257);
}
<div class="Top10">
<h1>Newest</h1>
@foreach (var article in node.Descendants().Where("Visible && (NodeTypeAlias = \"Article\" || NodeTypeAlias = \"sergrein\" || NodeTypeAlias = \"solomyndagrein\")").OrderBy("createDate desc").Take(10))
{
<a href="@article.Url"><h2>@article.createDate.ToString("dd/MM") | @article.title</h2></a>
}
</div>
我想要的是:如果@ article.title超过例如10个字符,需要返回10个字符后跟...(例如:“this_is_a _...”)。如果@ article.title短于10个字符,它只能显示完整的标题长度。 如何进行截断?
答案 0 :(得分:3)
试试这个
@(article.title.Length > 10 ? (article.title.Substring(0,10) + " ...") : article.title)
答案 1 :(得分:1)
通常我会在你的模型中这样做,但看起来你正在使用Umbraco的模型。
所以你可以这么做:
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var node = @Model.NodeById(1257);
}
<div class="Top10">
<h1>Newest</h1>
@foreach (var article in node.Descendants().Where("Visible && (NodeTypeAlias = \"Article\" || NodeTypeAlias = \"sergrein\" || NodeTypeAlias = \"solomyndagrein\")").OrderBy("createDate desc").Take(10))
{
{
var title = article.title;
if (title.Length > 10)
title = title.Substring(0,10) + "...";
}
<a href="@article.Url"><h2>@article.createDate.ToString("dd/MMM") | @title</h2></a>
}
</div>
答案 2 :(得分:1)
这将有所帮助,
@{
if(article.title.ToString().Length > 10)
{
article.title = article.title.Substring(0,10) + " ..."; //the format you desire
}
else
{
article.title; // default
}
}