2012-04-25 14 views
0

編集可能な整数のリストをModelBinding:私はこのようになりますビューを持っている

@model List<int> 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

@using (Html.BeginForm()) 
{ 
<ul> 
@{int counter = 0;} 
@foreach (var i in Model) 
{ 
    <li>@Html.TextBoxFor(m => m[counter])</li> 
    counter++; 
} 
</ul> 
} 

私の問題は、生成されたHTMLが

<li><input name="[0]" type="text" value="1" /></li> 
etc.. etc... 

は、私が戻って投稿すると...このように見えるということですコントローラは、フォーム名は私のコントローラにバインドされません。それを修正する方法上の任意の考え(おそらく接頭辞か何か?)

答えて

1

は、私はいくつかの時間前に同じ問題を抱えていたが、これはあなたが生成するために、あなたのビューでこのコードを使用することができます

私の解決策(回避策?)であります形式:

@Html.TextBox("number[" + counter + "]", i) 

そして、あなたのコントローラで簡単な解決策はありませんなぜ私が見つけることを試みたことがありませんList<int> numberパラメータ

public ActionResult Index(List<int> number) { ... } 

でアクションを定義仕事はしませんが、モデルバインダーには動作するためにいくつかのプロパティ名が必要です。

+0

Lukas ..ありがとう。 –

関連する問題