2012-05-05 5 views
1

私はヘルパーを作成して、ある文字をもう一方の文字の下に返すようにしたいと考えています。そのような何か:垂直文字を表示するためのヘルパーを作成する

S

M

P

L

E

このヘルパーの目的は持つテーブルを持つことです1文字だけの見出し。あなたは、この下の絵に見ることができるように醜いです:以下

enter image description here

例が良さそうに見えます:

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

任意のアイデア:

enter image description here

私のような何かをしたいと思います?

ありがとうございました。

答えて

0

HTMLヘルパーDisplayVerticalを作成できます。 (私はhtmlヘルパーを作成する方法のステップを追加していません)。 DisplayVerticalは、最初の文字列にテキストを分割し、divの内部で各文字を包むかDisplayVerticalFor所望のplace.Theの実装を挿入することができ、他のブロックレベル要素は、このようなものにすることができます:あなたの場合は

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)のようにこのhtmlヘルパーにラムダ式を渡したい場合は、テキストを見つけるためにラムダ式解析コードを追加する必要があります。 最後に、これは非常に大まかなコードですが、「TagBuilder」などを追加してよりきれいできれいにすることができます。

+0

ありがとうございました – Bronzato

関連する問題