MVC.net razor substring in view问题

时间:2011-03-23 12:07:00

标签: asp.net-mvc viewmodel razor

我遇到剃须刀和模特的问题。

在我看来,我有一个带有“文章”对象列表的模型。

所以我用@MvcHtmlString.Create(article.Intro)做了一个非常好的预告。

然后当我想要那个介绍的子串:

@MvcHtmlString.Create(article.Intro).ToHtmlString().Substring(0, 50)页面以无限循环结束(通常在剃刀无法渲染时发生),没有错误。

有谁知道如何获得这个子字符串?

2 个答案:

答案 0 :(得分:4)

为什么不直接将你的article.Intro直接子串?

@MvcHtmlString.Create(article.Intro.Substring(0, 50))

答案 1 :(得分:4)

如果您的任何文章介绍短于50个字符,

Substring(0, 50)会抛出 ArgumentOutOfRangeException 异常。这可能是你的奇怪问题的原因。

此外,使用 MvcHtmlString 是不正确的,因为您的数据显然不是HTML编码的。

所以解决方案可能是:

@article.Intro.Substring(0, Math.Min(article.Intro.Length, 50))