私は本当に奇妙な問題を抱えています。だから、私の構造はこのようなものです
<div id="tasks">
@Html.Partial("_Tasks", tasks)
</div>
_Tasks では、すべてのタスクに対して foreach を実行し、タスクごとに追加の部分を持っています
...
@Html.Partial("_Time", new TimeViewModel(task))
...
そして_Timeの中にフォームがあります
...
@Html.TextBoxFor(m => m.Name)
....
したがって、ビューでパーシャルをレンダリングしてから、複数のパーシャルの内部でフォームをレンダリングします。ページの読み込みを実行すると、機能します。問題は、私が ajax を使用しているときから始まるので、Time を編集してサーバーに投稿し、返された html で #tasks を更新します。
私は私が持っているコントローラーアクションです...
...
return View("_Tasks", tasks);
問題は、 @Html.TextBoxFor(m => m.Name) によって生成されたすべての入力が同じ値を持つことです。なんで?私が行った場合
@Html.DisplayFor(m => m.Name)
私は元気に働いています。私も試してみました
@Html.TextBoxFor(m => m.Name, new { Value = Model.Name })
それは機能しますが、私にはハックに見えます。
問題は、なぜこの動作を得るのですか? すべての TextBoxFor の値が同じなのはなぜですか?