2012-01-09 35 views
9

嗨,人們我一直在這裏爲5天,並找不到解決方案,試圖讓這個去多線@Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"})但我沒有運氣。TextBoxFor Mulitline

以下是我的嘗試:

@Html.TextBoxFor.Multiline (does not work) 

我已經把多行上的新的結束和沒有奏效。做這件事最簡單的方法是什麼?

謝謝我使用MVC3 C#

+0

可能的重複:http://stackoverflow.com/questions/6740890/mvc3-razor-html-textboxfor-can-i-make-it-multi-line-like-textareafor – rene 2012-01-09 20:44:16

+1

這是複雜的,爲什麼我想要這就是爲什麼我說「做這個最簡單的方法是什麼」 – user1137472 2012-01-09 20:47:26

回答

46

你可以使用一個TextAreaFor幫手:

@Html.TextAreaFor(
    model => model.Headline, 
    new { style = "width: 400px; height: 200px;" } 
) 

而是一個更好的解決方案是與[DataType]屬性指定要裝飾你的Headline視圖模型屬性它呈現爲:<textarea>

public class MyViewModel 
{ 
    [DataType(DataType.MultilineText)] 
    public string Headline { get; set; } 

    ... 
} 

然後使用EditorFor幫手:

<div class="headline"> 
    @Html.EditorFor(model => model.Headline) 
</div> 

終於在你的CSS文件中指定它的造型:

div.headline { 
    width: 400px; 
    height: 200px; 
} 

現在你有關切的妥善分離。

+2

textarea將成爲你想要的一個多行表單字段。調整大小是發生在不同瀏覽器上的事情,Firefox和Chrome都會允許這種情況發生,因爲IE不會。 – Chris 2012-01-09 20:49:24

+0

@Darin Thanks Darin爲解釋這件事情,在此之前我沒有使用'[Datatype(DataType.MultilineText)]'註釋爲textarea謝謝。 – user1006544 2012-01-10 08:13:14

+2

我知道這是一個古老的帖子,但它是「剃刀多行textboxfor」的最高搜索結果,我只是想補充說CSS選擇器是錯誤的,應該是'div.headline textarea' – Jocie 2016-02-10 09:31:54