2016-12-12 4 views
0
@Html.TextBoxFor(m => m.TeamMember, new { @class = "form-control", disabled = "disabled" }) 

stringである今の代わりTeamMemberと仮定し、我々は、同じ無効TextBoxFor内、3のカウント数を有することが知られてList<string>は「TeamMembers」を、表示したいですディスプレイリスト<string>

John Doe, Jane Doe, Tom Thumn 

どうすればよいですか?

+0

あなたはそれをどこに表示したいですか? 1つの入力フィールドに? – Shyju

+0

はい、正しいです。ありがとうございます! –

+0

ViewModelのaproachを使用していますか? –

答えて

1

このようなものも機能します。

コントローラー:

var model = new ModelName 
{ 
    TeamMembers = String.Join(", ",ListItems); 
}; 
return View(model); 

そして、あなたのビューで:あなたのモデルで

@model path.to.your.model.ModelName 

@Html.TextBoxFor(m => m.TeamMembers, new { @class = "form-control", disabled = "disabled" }) 

public class ModelName 
{ 
    public string TeamMember { get; set; } 
} 
+0

ループ内の文字列連結は、発生するのを待っているガベージコレクションの災害です。 'String.Join()'を使うだけです。 – CodeCaster

+1

@CodeCaster、大丈夫、更新されたコードを見てください。 – Arendax

1

String.Joinメソッドを使用すると、文字列リスト内の項目を連結できます。

<input name="MyInputName" value="@String.Join(",",Model.TeamMembers)"/> 
+0

確かに、同じ剃刀の構文を維持し、TextBoxForを使用してこれを行うことは可能ですか? –

+0

TextBoxForプロパティ名を取得し、生成された入力の値を設定するプロパティの値を使用している間の入力を生成します。なぜサーバーでstring.joinを実行せずに文字列プロパティに連結文字列を設定するのですか? – Shyju

+0

マルチセレクションのドロップダウンを使う方が良いでしょう。 –

関連する問題