2013-12-18 92 views
1

當我使用MVC TextAreaFor幫手,我這樣定義行:爲什麼TextAreaFor助手的行屬性沒有正確設置html行屬性?

@Html.TextAreaFor(model => model.Notes, 5) 

行的這一文本區域號碼不設置意味着該文本區域不受影響,在所有的大小。但是,如果我使用htmlAttributes來定義行:

@Html.TextAreaFor(model => model.Notes, new { rows = 5 }) 

然後它工作正常。所以我的問題是什麼是TextAreaFor助手的行屬性,如果不定義textarea的行HTML屬性?我在這裏錯過了什麼?

回答

3

沒有像你的第一個例子那樣的過載。您可以嘗試this超載

public static MvcHtmlString TextAreaFor<TModel, TProperty>(
    this HtmlHelper<TModel> htmlHelper, 
    Expression<Func<TModel, TProperty>> expression, 
    int rows, 
    int columns, 
    Object htmlAttributes 
) 

所以,你的例子應該是這樣的

@Html.TextAreaFor(model => model.Notes,5,10, new { @class= "myCssClassName" }) 

對於你的第二個例子,你以正確的方式使用the overload

+0

所以你說我必須定義所有這些其他參數 - 它們不是可選的? – Marko

+0

你可以簡單地使用你的第二種方法(只提供html屬性)。您可以根據您的要求使用不同的過載。在這種情況下,如果你只是想指定行和列,只需使用上述任何一個。 – Shyju

+0

@RaphaëlAlthaus這是他在第二個例子中使用的,它工作正常。 – Shyju

相關問題