1

我想创建一个助手来返回一个字符低于另一个字符的文本。像这样的东西:

小号

一种

大号

这个助手的目的是有一个标题只有 1 个字符宽的表格。如下图所示,这很丑:

在此处输入图像描述

下面的示例看起来不错:

在此处输入图像描述

我想要类似的东西:

@Html.DisplayVerticalFor(x => x.MyText)                                            

任何的想法?

谢谢。

4

1 回答 1

0

您可以创建 HTML 帮助程序 DisplayVertical。(我没有添加如何创建 html 助手的步骤)。DisplayVertical 将首先将您的文本拆分为字符数组并将每个字符包装在 div 或任何其他块级元素中,可以将其插入所需的位置。 DisplayVerticalFor 的实现可以是这样的:

public static MvcHtmlString DisplayVertical (this HtmlHelper helper, string text)
{
     string OutputString = "";
     string assembleString = "<div>{0}</div>";
     char[] textarr = text.ToCharArray();

     foreach( char a in textarr )
     {
         OutputString += String.Format(assembleString, a);
     }

     return new MvcHtmlString(OutputString);
}

and in razor it will placed like this :
<div class="style-to-adjust-width-n-height"> @Html.DisplayVertical ("Sample") </div>

如果您想像 @Html.DisplayVerticalFor(x => x.MyText) 一样将 lambda 表达式传递给这个 html 帮助器,那么您需要添加 lambda 表达式解析代码来查找文本。最后,这是一个非常粗略的代码,但是您可以添加“TagBuilder”等以使其更加整洁。

于 2012-05-06T09:16:41.360 回答