为什么我的模型在帖子中丢失下拉列表项目?

2024-04-22

我有一个简单的页面 mvc,只有一个操作。 在索引操作中的 Get 方法中,我创建了属性 model.categoria 的实例,并使用 3 个项目进行值。 问题是,如果我运行操作的后索引(如下所示),则会出现错误,因为与 model.categoria 关联的下拉列表为空。 我的问题是: 我总是在每一篇文章中实例化 model.categoria 以避免这个问题,今天我想知道,是这样吗?

这是我将返回错误的代码: 值不能为空。

控制器动作:

public ActionResult Index()
{
    var model = new Models.UploadVideoPage.UploadVideoPageModel();
    model.categoria = new List<Models.UploadVideoPage.ListCategorie>();
    model.categoria.Add(new ListCategorie { TitoloCategoria = "Volontariato", idCategoria = 1 });
    model.categoria.Add(new ListCategorie { TitoloCategoria = "Interno", idCategoria = 2 });
    model.categoria.Add(new ListCategorie { TitoloCategoria = "Sindacato", idCategoria = 3 });
    return View(model);
}
[HttpPost]
public ActionResult Index(Models.UploadVideoPage.UploadVideoPageModel model) 
{
    return View(model);
}

索引.cshtml

 @Html.LabelFor(x => x.categoria)
            @Html.DropDownListFor(x => x.categoria.First().idCategoria, new SelectList(Model.categoria, "idCategoria", "TitoloCategoria"))

每次回发时都必须填充列表,除非您要为表单中的所有值放置隐藏字段。只需要几行代码就可以以不同的方式工作

public ActionResult Index()
    {
        var model = new Models.UploadVideoPage.UploadVideoPageModel();
        PopulateDependencies(model);
        return View(model);
    }
    [HttpPost]
    public ActionResult Index(Models.UploadVideoPage.UploadVideoPageModel model)
    {
        PopulateDependencies(model);
        return View(model);
    }

    private void PopulateDependencies(Models.UploadVideoPage.UploadVideoPageModel model)
    {
        model.categoria = new List<Models.UploadVideoPage.ListCategorie>();
        model.categoria.Add(new ListCategorie { TitoloCategoria = "Volontariato", idCategoria = 1 });
        model.categoria.Add(new ListCategorie { TitoloCategoria = "Interno", idCategoria = 2 });
        model.categoria.Add(new ListCategorie { TitoloCategoria = "Sindacato", idCategoria = 3 });
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的模型在帖子中丢失下拉列表项目? 的相关文章

随机推荐

  • 使用托管标识连接到 Azure 应用程序配置时出现 403

    我正在尝试使用托管标识从网络框架应用程序连接到 Azure 应用程序配置 但遇到权限问题 我如何连接 options Connect new Uri https myconfigstore azconfig io new ManagedId
  • 在 Android 中出现可选文本菜单后,处理文本视图外部的触摸

    我已经通过在android中实现了可选择的文本 android textIsSelectable true 我现在需要做的是 当触摸文本 菜单 光标以外的任何地方时 使菜单消失 我该如何实现这一目标 首先 您可以点击此链接隐藏软件键盘 在单
  • 通过 ID 获取 ViewChildren 模板

    在我的组件中 我使用 ViewChildren 获取其标记模板的列表 ViewChildren TemplateRef private templates QueryList
  • 如何将长数字从csv导入excel而不在VBA中转换为科学记数法

    我用下面的代码打开了分号分隔的txt文件 保存到 Excel 后 无论该列的文本格式如何 长帐号都会显示为科学记数法 我在这里做错了什么 Application ScreenUpdating False Workbooks OpenText
  • “弱引用对象不再存在”是什么意思?

    我正在运行 Python 代码 收到以下错误消息 Exception exceptions ReferenceError weakly referenced object no longer exists in
  • 有人可以解释一下这段代码吗?排列代码[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在做一
  • 当 span 的高度和宽度为 0 且仅 padding-left 设置为 20px 时,padding 仍然存在

    这是我的设置 margin 0 padding 0 box sizing border box span padding left 25px background red span span 我有设置为的跨度标签box sizing bor
  • iframe 中元素的 CKEditor 内联编辑器

    在应用程序中 我在 iframe 中有内容可编辑元素 并且希望将内联 CKEditor 应用于这些元素 它可以工作 除非我滚动 iframe 时 CKEditor 工具栏不会随之滚动 是否有特殊标志或某种方法可以让工具栏随 iframe 内
  • MediaElement 冻结视频

    我应用一些LinearGradientBrush动画到MediaElement在这段视频冻结之后 我尝试通过重置它Player1 OpacityMask null 但没有喜悦 顺便说一句 如果我制作动画Opacity of the Medi
  • Django:仅记录我项目的应用程序

    默认情况下 我可以在 settings py 中启用日志记录LOGGING通过创建记录器进行配置 这将捕获所有日志 但是 如果我只想查看项目应用程序的日志记录而不是 Django 内部的日志记录 该怎么办 我可以想象在我的每个 Django
  • SVG:一个过滤器中的多种效果

    我正在尝试在单个 SVG 过滤器中实现多个阴影 但我相信我的问题比这更通用 如何将多种效果添加到单个 SVG 滤镜中 就我而言 这就是我具体想做的事情 我有一个当前包含单个路径元素的 SVG 文档 并且我已对该路径元素应用了单个阴影效果 我
  • 如何使用 JavaScript 检测 Internet Explorer (IE) 和 Microsoft Edge?

    我环顾四周 了解到有很多方法可以检测 Internet Explorer 我的问题是这样的 我的 HTML 文档上有一个区域 单击该区域时 会调用与任何类型的 Internet Explorer 都不兼容的 JavaScript 函数 我想
  • 将node.js neDB数据获取到变量中

    我能够在nodejs 中的neDB 数据库中插入和检索数据 但我无法将数据传递到检索 数据的函数之外 我已经阅读了 neDB 文档 并且搜索并尝试了回调和返回的不同组合 请参阅下面的代码 但没有找到解决方案 我是 javascript 新手
  • Eclipse 模拟器中的屏幕尺寸

    我正在看一个简单的例子 我正在使用 Eclipse 当我单击 运行 工具栏图标时 会显示我的应用程序启动屏幕 正如我所希望的那样 但整个 droid 模拟器太大 太大 我搜索了一下 发现应该去Window Android SDK and S
  • 使用复选按钮禁用小部件?

    我如何使用复选按钮禁用条目 我得到了这个 但它不起作用 python 2 7 1 usr bin env python2 7 coding utf 8 from Tkinter import root Tk class Principal
  • 使用 GsmCellLocation 的 getPsc() 始终返回 -1

    我成功得到了GsmCellLocation以及相关的 cid 和 lac 信息 但服务小区的 PSC 主扰码 总是以初始化值 1 返回 有人能得到服务小区的真实 PSC 值吗 telephonyManager TelephonyManage
  • 不可变数据结构性能

    我不明白作为一个集合的东西怎么可能是不可变的并且仍然具有可接受的性能 根据我在 F Sets 中读到的内容 内部使用红黑树作为其实现 如果每次我们想要向红黑树添加新内容时 我们基本上都必须重新创建它 那么它如何才能具有良好的性能呢 我在这里
  • 如何通过注册表查找sql​​ server实例的版本和版本

    我正在使用下面的注册表搜索来获取所有 sql server 实例名称的列表 HKEY LOCAL MACHINE SOFTWARE Microsoft Microsoft SQL Server 实例名称 SQL 我如何获得上述注册表搜索返回
  • 何时在 odoo 中使用 api.one 和 api.multi |打开程序?

    最近odoo 以前的OpenERP V8已经发布了 在新的 API 方法中引入了装饰器 在models py方法需要修饰 api one or api multi 参考odoo 文档 https www odoo com documenta
  • 为什么我的模型在帖子中丢失下拉列表项目?

    我有一个简单的页面 mvc 只有一个操作 在索引操作中的 Get 方法中 我创建了属性 model categoria 的实例 并使用 3 个项目进行值 问题是 如果我运行操作的后索引 如下所示 则会出现错误 因为与 model categ