2016-10-08 20 views
0

私はすべての種類のフィールドを持つMVCフォームを作成しています。これらはすべて通常のMVC形式ですMVCのTextBoxForに余分なテキストを追加するには

@Html.TextBoxFor(Function(x) x.Auto.Length, New With {.Class = "form-control", .Disabled = True}) 

ここでは、このフィールドに直接数値を追加したい場合は、この場合は 'mm'とします。 私は既に私が直接電話したいエクステンションを作成しましたが、成功しません。

@Html.TextBoxFor(Function(x) x.Auto.Length.Add_Appendix("mm"), New With {.Class = "form-control", .Disabled = True}) 

しかし、私は

テンプレートが唯一のフィールドへのアクセス、プロパティへのアクセス、一緒に使用することができ、エラーを取得しています:私は好きでそれを呼び出すことができれば

<Extension> 
Public Function Add_Appendix(value As Integer, appendix As String) As String 

    Return value.ToString & " " & appendix 
End Function 

がいいだろう単一次元配列索引、または単一パラメータのカスタム索引式を使用できます。

どうすればこのことが可能ですか? thx。

+0

あなたはランダムな表現に '* For'ヘルパーを使用しません。ランダム式の場合は、 'For'、' TextBox'を使わないものを使用します。 – GSerg

+0

@GSerg:それは単純です。私はこの単純な解決策を見つけるのに時間を無駄にしました。 Thxメイト!あなたがこの説明をアシュワーとして置くなら、それを正しいものとしてチェックします。 – Yosoyke

+1

OT - 「付録」は間違った用語です。それは「接尾辞」でなければなりません。 – jmcilhinney

答えて

1

*Forヘルパーは、モデルの既存のプロパティにバインドする必要があるため、ランダムな式を許可しません。 *Forヘルパーを使用する場合は、モデルに修正値を表すプロパティを作成する必要があります。

これをしたくない場合は、*Forのないヘルパーを使用する必要があります(まったくヘルパーを使用しないでください)。あなたの場合は@Html.TextBoxです。

間違いなく、これはあなたの人生をより困難にするため、これを行うべきではありませんが。モデルを投稿するときに追加されたmmを削除し、もう一度mmを追加しないようにする必要があります。代わりにmmをテキストボックスの後ろに入力します。

関連する問題