2
我使用下面的代碼來顯示從數據庫中我的HTML編碼的文本:顯示的X字
@Html.Raw(HttpUtility.HtmlDecode(@item.Content))
我想現在要做的就是顯示例如僅20個字的內容和最後的「...」。我應該怎麼做?我正在考慮爲IHtmlString添加一個幫助器,但我不知道如何返回IHtmlString的x個字
我使用下面的代碼來顯示從數據庫中我的HTML編碼的文本:顯示的X字
@Html.Raw(HttpUtility.HtmlDecode(@item.Content))
我想現在要做的就是顯示例如僅20個字的內容和最後的「...」。我應該怎麼做?我正在考慮爲IHtmlString添加一個幫助器,但我不知道如何返回IHtmlString的x個字
我應該怎麼做?
你可以寫一個自定義的HTML幫助,將有責任來解析輸入字符串轉換成組成話,並把他們的第一x
:
public static class HtmlExtensions
{
private readonly static Regex _wordsRegex = new Regex(
@"\s", RegexOptions.Compiled
);
public static IHtmlString FormatMessage(
this HtmlHelper htmlHelper,
string message,
int count = 20
)
{
if (string.IsNullOrEmpty(message))
{
return new HtmlString(string.Empty);
}
var words = _wordsRegex.Split(message);
if (words.Length < count)
{
return new HtmlString(htmlHelper.Encode(message));
}
var result = string.Join(
" ",
words.Select(w => htmlHelper.Encode(w)).Take(count)
);
return new HtmlString(result + " ...");
}
}
可能在視圖中使用:
@Html.FormatMessage(item.Content)
,或者如果你想指定不同數量的話到取:
@Html.FormatMessage(item.Content, 5)
太棒了!謝謝Darin Dimitrov – 2012-02-28 22:44:52