Razor CSHTML IF 语句 [英] Razor CSHTML IF statement

查看:32
本文介绍了Razor CSHTML IF 语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

@inherits umbraco.MacroEngines.DynamicNodeContext@{var node = @Model.NodeById(1257);}<div class="Top10"><h1>最新</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>}

我想要的是:如果@article.title 比例如长10个字符,需要返回后面跟...的10个字符(例如:this_is_a_...").如果@article.title 少于 10 个字符,它只能显示完整的标题长度.如何进行截断?

解决方案

试试这个

@(article.title.Length > 10 ? (article.title.Substring(0,10) + " ...") : article.title)

Anyone here that can help me? I have the following code:

@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>

What I want is: if @article.title is longer than e.g. 10 characters, it needs to return the 10 characters followed by ... (for example: "this_is_a_..."). If the @article.title is shorter than 10 characters, it can just show the full title length. How can this truncating be done?

解决方案

Try this

@(article.title.Length > 10 ? (article.title.Substring(0,10) + " ...") : article.title)

这篇关于Razor CSHTML IF 语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆