2012-05-05 20 views
1

我想創建一個輔助返回下面的其他文字的一個字符。類似的東西:創建用於顯示垂直字符的幫手

小號

一個

中號

P

大號

Ë

這個助手的目的是爲了有一個表標題只有1個字符寬。正如你可以在下面這個圖片中看到的是醜陋的:低於

enter image description here

例子看起來不錯:

enter image description here

我想是這樣的:

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

任何想法?

謝謝。

回答

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)傳遞一個lambda表達式給這個html助手,那麼你需要添加lambda表達式解析代碼來找出文本。 最後,這是一個非常粗糙的代碼,但你可以添加「TagBuilder」等,使它更整潔。

+0

非常感謝您amarnath – Bronzato