0

我有一个基本的 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 的 jQuery textAreaExpandertextarea的链接,点击时会展开

4

1 回答 1

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).

于 2014-02-15T05:49:38.823 回答