2013-05-20 13 views
9

@ Html.TextBox mvc4にcssクラスとidを同時に追加する必要があります。 私は@ Html.TextBox mvc4でCSSクラスとIDを同時に追加する方法

@Html.TextBox("name", new { id = "name"}, new { @class = "text-field" }) 

を試してみたが、結果として、私はここに、属性値を必要といけない

<input class="text-field" id="name" name="name" type="text" value="{ id = name }"> 

を取得します。
私はあなたがHtmlAttributesオブジェクトにそれを使用する必要がありますので、HtmlAttributeとしてidを使用したい

@Html.TextBox("name", 
    null, 
    new { 
     id = "name", 
     @class = "text-field" 
    }) 

答えて

18

正しいoverload method

public static MvcHtmlString TextBox(
    this HtmlHelper htmlHelper, 
    string name, 
    Object value, 
    Object htmlAttributes 
) 

を試してみてください

<input type="text" value="" name="name" id="name" class="text-field" /> 
+0

'public static MvcHtmlString TextBox'を修正する必要がありますか?どこ? – Heidel

+0

いいえ、最初のコードブロックは、MVCテキストボックスの要素メソッドです。私はそれをあなたに見せるために書いた。あなたは、2番目のコードブロックを使用する必要があります... –

+0

ありがとう、私は理解し、それは動作します! – Heidel

4

を取得する必要があります。 TextBoxの正しい使用方法は次のとおりです。

@Html.TextBox("name", 
    null, 
    new { 
     id = "name", 
     @class = "text-field" 
}) 

あなたがルートオブジェクトにidを配置する場合は、idは、ルート値になります。

+0

参照私はこれを試みたが、私は '<入力ID = "名前" NAME = "名前" タイプ= "テキスト" 値=" {ID =名、クラス=テキストフィールドを持って} "> ' – Heidel

+0

欠けている第2パラメータを追加しました。手元に文書がありませんでした:) – Gorgsenegger

+0

ああ、ありがとう! – Heidel

1

新しいというキーワードを使用します。たとえば、次のコード

@Html.TextBoxFor(m => m.Venue, new { @class = "form-control", @id = "AnyCustomID" }) 
関連する問題