在 MVC 的部分视图中创建 DropDownListFor

2024-03-07

我创建了一个显示下拉列表的部分视图

html.DropDownListFor(m => m.SelectOption, Model.SelectOption)

我收到对象未引用实例的错误...

如果我将上面的代码放入我的视图(aspx)中,它可以正常工作,没有问题。但在部分视图中我收到错误。

我的部分视图中的文本框控件使用相同的模型可以正常工作。我只是无法绕过 DropDownList。


您实际上尚未展示如何调用分部视图以及您的控制器操作是否实际上已将模型传递给该视图。

确保您的控制器已正确初始化模型。因此,如果我们假设您有以下模型:

public class MyViewModel
{
    public string SelectedOption { get; set; }
    public IEnumerable<SelectListItem> SelectOptions { get; set; }
}

以及以下控制器操作:

public ActionResult Foo()
{
    var model = new MyViewModel();
    model.SelectOptions = new[]
    {
        new SelectListItem { Value = "1", Text = "item 1" },
        new SelectListItem { Value = "2", Text = "item 2" },
        new SelectListItem { Value = "3", Text = "item 3" },
    };
    return View(model);
}

十你可以有一个相应的视图,它将调用部分:

@model MyViewModel
@Html.Partial("_MyPartial", Model)

and the _MyPartial.cshtml:

@model MyViewModel
@Html.DropDownListFor(x => x.SelectedOption, Model.SelectOptionOptions)

请注意视图模型上如何需要 2 个属性才能创建下拉列表 => 标量属性 (SelectedOption)将用于绑定所选值和集合属性,该集合属性将包含您想要在下拉列表中显示的值列表(SelectOptionOptions).

在您的代码中,您对两者使用相同的属性,这是错误的:

@Html.DropDownListFor(m => m.SelectOption, Model.SelectOption)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MVC 的部分视图中创建 DropDownListFor 的相关文章

随机推荐

  • Linux 内核:获取符号链接背后的真实路径

    我正在研究一些 Linux 内核的东西 我有一个名为 dev blah whatever 的假路径 它指向 dev block real device 问题是lookup bdev将无法遵循符号链接 因此我想通过获取真实路径 dev blo
  • Python CSV 没有属性“Writer”

    有一些代码给我带来了麻烦 它在我的另一个脚本中运行得很好 但我一定把它搞砸了 The if csv 主要是因为我依赖于 argparser 中的 csv 选项 但即使我要在外面运行这个适当的缩进if statement 它仍然返回相同的错误
  • 我可以强制刷新 Facebook 对象的图像 URL 吗?

    我有几个由 Facebook 托管的对象 这些对象已发布到用户的活动日志中 图像的 URL 指向我们的内容交付解决方案 该解决方案重定向到版本化图像 这意味着 URL 可以保持不变 但图像可能会发生变化 正如你在这张图片中看到的 当图像更改
  • CSS 属性开头的 *+ 是什么意思? [复制]

    这个问题在这里已经有答案了 我在 CSS 声明代码中发现了这一点 我现在部分负责 margin 0 0 0 10px margin 4px 0 0 10px margin 3px 0 0 10px 0 the and 0 是我特别关注的 这
  • 为什么 FoldBack 的签名与 F# 中的 Fold 有如此大的不同?

    至少有两件事我不明白 从左侧折叠到右侧折叠的重构不仅需要在签名上进行大量更改 而且在每个地方都需要进行大量更改 具体取决于文件夹功能 没有办法在不翻转参数的情况下将其链接到列表 List foldBack T gt State gt Sta
  • C# 使用通配符复制多个文件并保留文件名

    我需要使用不包含完整信息的文本文件从目录复制多个文件 NCR txt Red 目标目录中有 红1 txt红3 txt红44 txt dest 目录需要有 红1 txt红3 txt红44 txt 我的代码 System IO Director
  • 组内的 Nexus REST API 查询工件

    我有一个 Nexus maven 存储库 我想利用 REST API 来查询我的特定组中的工件列表 我偶然发现了这个文档 但它似乎非常简洁 我找不到我需要的东西 https oss sonatype org nexus restlet1x
  • 使用 Keras 创建自定义条件指标

    我正在尝试使用 keras 为我的神经网络创建以下指标 自定义 Keras 指标 https i stack imgur com fSg0o png 其中 d y pred y true y pred 和 y true 都是向量 使用以下代
  • 在 Pipeline sklearn (Python) 中使用多个自定义类

    我尝试为学生做一个关于 Pipeline 的教程 但我阻止了 我不是专家 但我正在努力改进 所以谢谢你的包容 事实上 我尝试在管道中执行几个步骤来为分类器准备数据帧 第 1 步 数据框的描述 第 2 步 填充 NaN 值 第 3 步 将分类
  • 从hosts文件中获取主机名

    我想从我的模板中获取另一台主机 鉴于以下情况hosts file vm vm hostname monitoring monitoring hostname 我怎样才能访问monitoring hostname从模板 I tried mon
  • 如何使用 jpa/hibernate 在 playframework 子模块中保存模型实体

    我在 PLAY FRAMEWORK 中有一个项目 其中包含几个子模块 每个子模块都有这样的文件夹结构 app controllers models views conf submodulename routes build sbt 我想将所
  • FFMpeg 错误 av_interleaved_write_frame():

    这是我的代码 运行php代码后 FFmpeg version 0 5 Copyright c 2000 2009 Fabrice Bellard et al configuration prefix usr libdir usr lib s
  • ASP.NET 的密码强度控制

    我需要 ASP NET 的密码强度控制 我查看了ajax控制工具包中的控制 但它不是完全可配置的 我需要将它静态地放置在布局上 尝试使用谷歌 Google 密码强度 APIhttp www codeproject com KB ajax G
  • MVC3 - 文件下载 - 等待状态指示器

    好的 我已经完成了作业并发现了类似的线程 然而 我还没有找到好的答案 使用 MVC3 C Razor 视图引擎 我的场景非常简单 我有一个带有调用控制器上的操作的链接的视图 该操作返回动态生成的文件 该过程持续 1 到 10 秒 在此期间
  • 使用 linq 查询输出列表/其他数据结构

    有没有办法在通用集合上执行 Console WriteLine 例子 列表 a 有 a Key 0 apple a Value 0 1 a Key 1 bold a Value 2 2 有没有办法使用 LINQ 写出列表内容 键 值 a a
  • 在 matplotlib 中实现水平图

    我正在尝试在 matplotlib 中实现地平线图 请参阅 http square github com cubism http square github com cubism 基本思想是 您以窄长宽比显示时间序列 并且随着值的增加 超出
  • 更改 CLLocation 的坐标

    我是 Objective C 的新手 所以这可能是一个小问题 初始化位置后 CLLocation currentPoint CLLocation alloc initWithLatitude 0 longitude 0 以后如何更改纬度和经
  • XMLHttpRequest 无法加载 跨源请求仅支持 HTTP

    从 XML 文件获取数据时发现异常 101 XMLHttpRequest 无法加载 file C Users zaid Desktop xml cd catalog xml 仅 HTTP 支持跨源请求
  • 在 Unix 中编译并运行 java(来自 Windows)

    好的 这可以在 Windows 上运行 我的 Java 应用程序正在正常运行和运行 javac classpath ojdbc14 jar g foo java java classpath ojdbc14 jar foo 然而 当我在 U
  • 在 MVC 的部分视图中创建 DropDownListFor

    我创建了一个显示下拉列表的部分视图 html DropDownListFor m gt m SelectOption Model SelectOption 我收到对象未引用实例的错误 如果我将上面的代码放入我的视图 aspx 中 它可以正常