Rumah >pembangunan bahagian belakang >C++ >Kenapa paparan MVC ASP.NET saya membuang kesilapan 'model yang diluluskan ke dalam kamus'?
Apabila menghadapi ralat ralat, "Jenis model yang diserahkan kepada kamus adalah bar, tetapi kamus ini memerlukan jenis foo", ini bermakna jenis model yang diharapkan dalam pandangan tidak sepadan dengan jenis model yang dihantar.
Alasan 1: Pengawal menghantar model yang salah kepada pandangan
Sebab yang paling biasa ialah pengawal menyampaikan model yang salah kepada pandangan. Ini berlaku apabila jenis model (@model foo) tidak dipadankan dengan jenis model (@model foo) dalam pandangan.
Untuk menyelesaikan masalah ini, sila tukar model secara jelas ke dalam jenis yang betul dalam pengawal:
Alasan 2: Model pandangan dihantar ke beberapa pandangan kepada beberapa pandangan
<code class="language-csharp">var model = (Foo)db.Foos.Select(x => new { ID = x.ID, Name = x.Name });</code>
Apabila menggunakan beberapa pandangan, model lalai adalah model pandangan utama. Sekiranya beberapa pandangan dijangka menjadi model yang berbeza, sila nyatakan dengan jelas:
Alasan 3: Pernyataan model dalam susun atur
<code class="language-csharp">@Html.Partial("_Bar", Model.MyBar)</code>Susun atur boleh mengisytiharkan model, dan semua pandangan menggunakan susun atur mesti mengisytiharkan model yang sama atau diperolehi. Jika susun atur mengisytiharkan model yang berbeza, anda boleh menggunakan@html.Action untuk memulakan dan mengembalikan bahagian pandangan dalam susun atur untuk memproses model berasingan.
Ingat, kesilapan ini biasanya tidak sepadan dengan jenis model yang diharapkan dalam pandangan. Anda dapat menyelesaikan ralat ini dengan teliti dengan memeriksa kod tersebut dengan teliti dan mencari sumber yang tidak sepadan.
Atas ialah kandungan terperinci Kenapa paparan MVC ASP.NET saya membuang kesilapan 'model yang diluluskan ke dalam kamus'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!