首页 > 后端开发 > C++ > 为什么我的下拉列表抛出' system.int32”与' iEnumerable”错误?

为什么我的下拉列表抛出' system.int32”与' iEnumerable”错误?

Susan Sarandon
发布: 2025-02-03 03:06:10
原创
647 人浏览过

Why Does My Dropdown List Throw a

>故障排除“ system.int32” vs.“ iEnumerable”下拉列表中的错误 >提交带有下拉列表的表单有时会导致错误指示类型不匹配的错误:

>项目期望

> type(用于下拉列表选项),但会接收ViewData>。 IEnumerable System.Int32根本原因:null类别列表

> >这通常是因为视图模型中的属性(例如,

)是

>时。 CategoryList依靠此属性填充下拉列表。ProjectVM> nullViewData解决方案:在“邮政方法”中重新填充类别列表

> 解决方案是在返回视图之前明确地重新填充控制器的post Action方法之前的

属性。 这样可以确保在

>中可用正确的数据。 CategoryList这是修改您的帖子方法的方法: IEnumerable添加此行重新创建ViewData并将其分配给

。 反过来,这为您的视图中的帮助者提供了必要的

>数据。

<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>
登录后复制
的工作方式:ViewData和SelectList

SelectList> model.CategoryListIEnumerable helper方法(和DropDownListFor())试图找到适当的

数据。如果它没有直接接收

,则使用属性名称(例如'categoryId')在中查找数据。如果项目不可铸入

,则会发生不匹配错误。 通过在邮政方法中明确设置

,我们绕过了此问题。

以上是为什么我的下拉列表抛出' system.int32”与' iEnumerable”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板