ホームページ > バックエンド開発 > C++ > MVC 4 で項目のリストをビューに効率的にバインドするにはどうすればよいですか?

MVC 4 で項目のリストをビューに効率的にバインドするにはどうすればよいですか?

DDD
リリース: 2024-12-30 04:18:28
オリジナル
624 人が閲覧しました

How Can I Efficiently Bind Lists of Items to Views in MVC 4?

MVC 4 のリストのカスタム モデル バインディング

MVC のビューに項目のリスト (IList) をバインドすることは、一般的な課題でした開発者向け。古いソリューションも存在しますが、MVC 4 ではプロセスを簡素化する機能強化が導入されています。

リスト内の各項目にデータ入力用の独自のフォームが必要なシナリオの場合は、ViewModel を次のように構造化することを検討してください。

public class MyViewModel
{
   public List<Person> Persons{get;set;}
}
ログイン後にコピー

ビューの BeginForm 内:

@model MyViewModel


@for( int i = 0; i < Model.Persons.Count(); ++i)
{
    @Html.HiddenFor(m => m.Persons[i].PersonId)
    @Html.EditorFor(m => m.Persons[i].FirstName) 
    @Html.EditorFor(m => m.Persons[i].LastName)         
}
ログイン後にコピー

HttpPost アクションは更新されたものを受け取りますビュー モデル:

[HttpPost]public ViewResult(MyViewModel vm)
{
...
}
ログイン後にコピー

ポストバックでは、フォーム内の対応する入力を持つプロパティのみが値を持つことに注意してください。これは、MVC のモデル バインディングが連続する ID を探し、ギャップが発生するとバインドを停止するためです。したがって、リスト内のすべての項目に有効な ID があり、フォームにギャップがないことを確認することが重要です。

以上がMVC 4 で項目のリストをビューに効率的にバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート