Razor CSHTML IF语句

Razor CSHTML IF语句,razor,Razor,这里有人能帮我吗?我有以下代码: @inherits umbraco.MacroEngines.DynamicNodeContext @{ var node = @Model.NodeById(1257); } <div class="Top10"> <h1>Newest</h1> @foreach (var article in node.Descendants().Where("Visible && (Node

这里有人能帮我吗?我有以下代码:

@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>
@继承umbraco.MacroEngines.dynamicontext
@{ 
var node=@Model.NodeById(1257);
}
最新的
@foreach(node.substands()中的var article().Where(“Visible&&(NodeTypeAlias=\'article\”| | NodeTypeAlias=\'sergrein\”| | NodeTypeAlias=\'solomyndagrein\”).OrderBy(“createDate desc”).Take(10))
{                   
}
我想要的是:如果@article.title超过例如10个字符,它需要返回10个字符,后跟。。。(例如:“this_is_a_…”)。如果@article.title短于10个字符,则它只能显示完整的标题长度。
如何进行截断?

通常我会说在您的模型中进行截断,但看起来您使用的是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>
@继承umbraco.MacroEngines.dynamicontext
@{ 
var node=@Model.NodeById(1257);
}
最新的
@foreach(node.substands()中的var article().Where(“Visible&&(NodeTypeAlias=\'article\”| | NodeTypeAlias=\'sergrein\”| | NodeTypeAlias=\'solomyndagrein\”).OrderBy(“createDate desc”).Take(10))
{                
{
var title=article.title;
如果(标题长度>10)
title=title.子字符串(0,10)+“…”;
}
}
试试这个

@(article.title.Length > 10 ? (article.title.Substring(0,10) + " ...") : article.title)
这将有助于

@{
if(article.title.ToString().Length > 10)
 {
  article.title = article.title.Substring(0,10) + " ..."; //the format you desire
 }
 else
 {
  article.title; // default
 }
 }