我想创建一个助手来返回一个字符低于另一个字符的文本。像这样的东西:
小号
一种
米
磷
大号
乙
这个助手的目的是有一个标题只有 1 个字符宽的表格。如下图所示,这很丑:
下面的示例看起来不错:
我想要类似的东西:
@Html.DisplayVerticalFor(x => x.MyText)
任何的想法?
谢谢。
我想创建一个助手来返回一个字符低于另一个字符的文本。像这样的东西:
小号
一种
米
磷
大号
乙
这个助手的目的是有一个标题只有 1 个字符宽的表格。如下图所示,这很丑:
下面的示例看起来不错:
我想要类似的东西:
@Html.DisplayVerticalFor(x => x.MyText)
任何的想法?
谢谢。
您可以创建 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”等以使其更加整洁。