Rumah > pembangunan bahagian belakang > C++ > Kenapa senarai dropdown saya membuang ralat 'System.Int32' vs 'IEnumerable'?

Kenapa senarai dropdown saya membuang ralat 'System.Int32' vs 'IEnumerable'?

Susan Sarandon
Lepaskan: 2025-02-03 03:06:10
asal
647 orang telah melayarinya

Why Does My Dropdown List Throw a

sistem penyelesaian ".int32 "vs" iEnumerable "ralat dalam senarai dropdown

Mengemukakan borang dengan senarai dropdown kadang -kadang boleh mengakibatkan ralat yang menunjukkan ketidakcocokan jenis: item

mengharapkan jenis ViewData (untuk pilihan jatuh turun), tetapi menerima IEnumerable sebaliknya. System.Int32

punca akar: Senarai kategori null

Ini biasanya berlaku kerana sifat

dalam model pandangan anda (mis., ) adalah CategoryList apabila borang dikemukakan. ProjectVM bergantung pada harta ini untuk mengisi senarai dropdown. null ViewData

Penyelesaian: Repopulate senarai kategori dalam kaedah pos

Penyelesaiannya adalah untuk secara jelas repopulate harta

dalam kaedah tindakan pos pengawal anda

sebelum CategoryList mengembalikan pandangan. Ini memastikan data yang betul boleh didapati di . IEnumerable ViewData inilah cara mengubah suai kaedah pos anda:

Menambah baris ini mencipta semula
<code class="language-csharp">public ActionResult Create(ProjectVM model)
{
    if (!ModelState.IsValid)
    {
        // Repopulate the CategoryList
        model.CategoryList = new SelectList(db.Categories, "ID", "Name"); 
        return View(model);
    }
    // ... (Your existing code to save the model and redirect) ...
}</code>
Salin selepas log masuk
dan menyerahkannya kepada

. Ini, seterusnya, menyediakan data SelectList yang diperlukan kepada penolong model.CategoryList dalam pandangan anda. IEnumerable DropDownListFor()

bagaimana ia berfungsi: viewdata dan selectlist

Kaedah penolong

(dan

) cuba mencari data DropDownListFor() yang sesuai. Jika ia tidak menerima DropDownList() secara langsung, ia mencari data dalam SelectList menggunakan nama harta (seperti 'kategoriId'). Jika item SelectList tidak boleh dikurangkan kepada ViewData, kesilapan jenis ketidakcocokan berlaku. Dengan menetapkan secara jelas ViewData dalam kaedah pos, kami memintas isu ini. IEnumerable

Atas ialah kandungan terperinci Kenapa senarai dropdown saya membuang ralat 'System.Int32' vs 'IEnumerable'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan