ASP.NET MVC:DropDownListFor 未选择任何选项

2024-04-30

我用它来填充 ASP.NET MVC 视图中的下拉列表。

<%= Html.DropDownListFor(model => model.Bikes,
      Model.Bikes.Select(
      x => new SelectListItem {
               Text = x.Name,
               Value = Url.Action("Details", "Bike", new { bikeId = x.ID }),
               Selected = x.ID == Model.ID,
           })) %>

调试这个我可以看到Selected属性设置为true当它应该是的时候。但是当渲染视图时,列表中的任何选项都不会被选择。我意识到这可以通过另一个重载来完成DropDownListFor但我真的想让这个版本正常工作。

有任何想法吗?


您选择的值不起作用的原因是您使用 URL 作为选项值,但指定Model.ID in the Selected条款。

尝试这样:

<%= Html.DropDownListFor(
    model => model.Bikes,
    new SelectList(Model.Bikes, "Id", "Name", Model.ID)
)%>

"Id"指示将用作选项值的属性"Name"指示将用作选项标签的属性。

如果你想保留Url.Action你可以尝试:

<%= Html.DropDownListFor(
    model => model.Bikes,
    new SelectList(Model.Bikes.Select(x => new {
        Id = x.Id,
        Name = Url.Action("Details", "Bike", new { bikeId = x.ID })
    }), "Id", "Name", Model.ID)
)%>

您会注意到,我颠倒了名称和 Id,因为使用模型 Id 作为选项值似乎更合乎逻辑。

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

ASP.NET MVC:DropDownListFor 未选择任何选项 的相关文章

随机推荐

  • Node.js 管理频繁变化的本地依赖项

    我目前正在开发我的第一个较大的 Node js 应用程序 该应用程序应该使用类似插件的依赖项尽可能模块化地工作 因为我处于开发的早期阶段 而且对节点也很陌生 所以这涉及大量的试验和错误 因此我需要经常重新启动应用程序 因此启动时间应尽可能短
  • Global.asax 模板在 Visual Studio 中不可用

    当我尝试向我的网络项目 添加新项目 通过右键单击 添加新项目 时 没有适合它的模板 可能是什么问题 我用的是VS2008 附加信息 当我右键单击解决方案并 添加 新网站 时 我有零个模板可供选择 我尝试过跑步devenv installvs
  • Windows Phone 8.1 XAML 应用程序显示奇怪的版本

    我已经为我现有的应用程序之一创建了 Windows Phone 8 1 XAML 版本 我将包版本设置为1 5 0 0 创建的文件名为SlovakApps WindowsPhone 1 5 0 1 AnyCPU bundle appxupl
  • 返回“数据”可能会暴露内部数组?

    考虑一下这个 public class Data private final SomeField fields public SomeField getFields return map null null map clone 安全性 方法
  • Firebase 数据库 - 编码错误

    我是 Firebase 的新手 我想使用他们的数据库 但编码似乎存在一些问题 这是我使用 UTF 8 编码的示例 json Stack This is madness Overflow 666 这就是当我将 json 导入 Firebase
  • 如何使用 pyodbc 和 MS-Access 在 Python Cursor.execute 中查看真实的 SQL 查询

    我在 Python 中使用以下代码 使用 pyodbc 作为 MS Access 基础 cursor execute select a from tbl where b and c x y 没关系 但是出于维护目的 我需要知道发送到数据库的
  • 如何更改水晶报表文件上的数据源类型

    是否可以更改水晶报表文件上的数据源类型而无需重建整个报表 我知道我可以转到 数据库 设置数据源位置 并更改一些数据源定义 例如服务器名 登录名 密码 但是我需要做什么才能从 ODBC RDO 数据源类型更改为 OLEDB 我已经尝试向报表添
  • Vue.js 路由器 - 条件组件渲染

    routes path name home get component if Vue loggedIn return Home else return Login 我添加了一个吸气剂 似乎工作正常 但我在 if 语句中使用的任何变量或函数都
  • jquery 陷印只允许字母

    我正在创建一个网页 其中有一个输入文本字段 我只想在其中只允许输入字母表 我怎样才能使用 jQuery 来实现它 Thanks jquery inputmask http plugins jquery com project inputma
  • swfobject.embedSWF 不起作用?

    以下代码使用 SWFObject 将 Flash 动画嵌入到 HTML 文档中 仅显示替代内容 为什么
  • 使用 lambda 内联过滤避免意外 null

    我有每个元素的列表 我想这样做 使用Java 8 disabledUsersOnLDAP stream forEach user gt usersRepository findEnabledByUsername user getUserNa
  • exec:“pwsh”:在%PATH%中找不到可执行文件

    我一直在尝试在 gitlab CI CD 上启动我的管道以进行演示项目 我已在 Windows 本地计算机中安装了 gitlab runner 并将执行程序类型指定为 Shell 我已经成功地将 gitlab runner 与我的 gitl
  • MVVMCross 在 MvxBindableListView 中更改 ViewModel

    我的 Android 应用程序出现了一些小问题 我不知道如何使用 MVVM Cross 来解决它 这是我的模型 public class Article string Label get set string Remark get set
  • 将 MySQL 与实体框架结合使用 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在 Google 上找不到任何有关实体框架 MySQL 的信息 所以我希望有人知道 已发布 获取适用于
  • 从 shell 和 sbt 在 android sdk 中运行 aapt 的程序

    我有一个奇怪的问题 我无法从 sbt 命令以及 shell 运行 aapt 我运行这个命令 sbt 更新包调试 一切都在嗡嗡作响 直到我收到此错误 java io IOException Cannot run program home eg
  • yahoo.finance 相关数据 api 是否发生变化(YQL 控制台)?

    我正在尝试使用 yql 获取雅虎财务数据 我检查了YQL控制台上的Show Community Table 看到了Yahoo标签下的数据库 我可以看到它下面的表格 但没有得到结果 如下 select from yahoo finance a
  • 水平滚动ListView列的某些部分

    我想在 React Native 中水平滚动 ListView 的某些部分 如何固定第一列的位置并使其他列水平滚动 ListView 的 renderRow 应该有一个 Text 后跟一个水平 ScrollView
  • 将 a:visited 链接设置为与 a:link 和 a:hover 相同的状态

    我正在研究一个想法 其中我的 a link 有一个状态 蓝色 无下划线等 而 a hover 为白色 我想要我的访问过的链接具有相同的状态 as a link and a hover 这可能吗 大多数常见浏览器都支持吗 a a link a
  • 在 SAS 中生成数组的所有唯一排列

    在 SAS 中 如果我有一个如下所示的字符串或数组 array x 4 1 A B C D 我需要生成元素的所有 独特 排列 如下所示 ABCD ABC BCD ACD ABD AB AC AD BC BD CD A B C D SAS中有
  • ASP.NET MVC:DropDownListFor 未选择任何选项

    我用它来填充 ASP NET MVC 视图中的下拉列表 调试这个我可以看到Selected属性设置为true当它应该是的时候 但是当渲染视图时 列表中的任何选项都不