我有一个基本的Truncate Razor助手,我正在尝试更改<text></text>
中附加内容的颜色。这个元素是由剃刀引擎解析的,所以我不能使用编码的html / css(至少我没有找到方法)在此先感谢您的帮助。
这是基本的截断助手:
@helper Truncate(string input, int length)
{
if (input.Length <= length)
{
@input
}
else
{
@input.Substring(0, length)<text> ...more</text> <!-- here //-->
}
}
// Implementation of Truncate helper
<textarea readonly>@Truncate(comment.Content, 250)</textarea>
注意:它与Craig's jQuery textAreaExpander的链接相似,可在点击时展开textarea
答案 0 :(得分:1)
一种方法是在文本周围使用<span></span>
标记。为此,您的Truncate
助手将如下所示:
public static HtmlString Truncate(this HtmlHelper htmlHelper, string input, int length)
{
if (input.Length <= length)
{
return new HtmlString(input);
}
input = input.Substring(0, length);
// Build the span tags
TagBuilder span = new TagBuilder("span");
span.SetInnerText(" ... more");
// Change the text color by either adding the style attribute or a class
span.MergeAttribute("style", "color: red;");
span.AddCssClass("some-class");
return new HtmlString(input + span.ToString());
}
然后使用@Html.Truncate(comment.Content, 250)
调用帮助程序。