DropDownList如何选择默认值

2024-01-02

我的页面上有很多 DropDownList

class BigViewModel
{
    public List<SmallViewModel> SmallVM {get;set;}
    public List<SelectListItem> Items {get;set;}
    //some other properties
}
class SmallViewModel
{
    public string ItemId {get;set;}
    //some other properties
}

<table>
    @for( var i = 0;i<Model.SmallVM.Count();i++)
    {
        <tr>
            <td>
                @Html.DropdownListFor(m=> m.SmallVM.ItemId, Model.Items)
            </td>        
        </tr>       
    }
//display other properties
</table>

在控制器中

bigViewModel.Items = List<SelectListItem>
{
    new SelectListItem{Value = "1", Text = "aaa"},
    new SelectListItem{Value = "2", Text = "bbb"},
    new SelectListItem{Value = "3", Text = "ccc"},
}
bigViewModel.SmallVM = new List<SmallViewModel>
{
    new SmallViewModel{ItemId = 3},
    new SmallViewModel{ItemId = 2},
}

在控制器中我设置了不同的ItemId对于每个 SmallVM 和每个 DropDownList 使用相同的Items收藏。我想为每个 DropDownList 设置 SmallViewModel 的默认值。例如,在本例中,有两个 DropDownList,第一个应显示默认文本“ccc”,第二个应显示“bbb”。

我应该放不同的List<SelectedListItem>为每个 SmallViewModel 并设置它们 Selected 属性还是有其他方法?


此行为已被报告为 CodePlex 上的错误,但尚未修复。使用DropDownListFor() in a for循环未正确绑定,并且无论属性值如何,始终选择第一个选项。为了DropDownListFor()为了在使用集合时正确工作,您需要使用EditorTemplate对于模型。

In /Views/Shared/EditorTemplates/SmallViewModel.cshtml

@model SmallViewModel
@Html.DropdownListFor(m => m.ItemId, (SelectList)ViewData["Items"])

然后在主视图中

@model BigViewModel
@using(Html.BeginForm())
{
  // Pass the select list to the EditorTemplate as addtionalViewData
  @Html.EditorFor(m => m.SmallVM, new { Items = Model.Items })
  <input type="submit" />
}

你现在应该有 2<select>控件分别显示“ccc”和“bbb”。

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

DropDownList如何选择默认值 的相关文章

随机推荐

  • 嵌套 R foreach 循环中的外循环变量

    我试图在嵌套循环中使用 foreach 包 但我的内部循环无法识别外部的计数器 我错过了什么 v3 lt search compounds by mass 100 05 0 5 foreach j 2 length v2 foreach i
  • 使用 NodeJS 生成服务器端 HighStock 图表

    我在用着高库存 http www highcharts com products highstock在浏览器中生成一些图表 但现在我想将其中一些存储在服务器上 所以我知道 HighCharts 可以导出到服务器 但如果可能的话我宁愿使用其他
  • 使用闭包而不是共享状态锁的优点和缺点是什么?

    我正在尝试评估在单写入器 单读取器场景中共享状态的最快解决方案是什么 其中reader只是消耗由分配的状态变量的最新值writer 共享状态可以是任何托管类型 即引用或值类型 理想情况下 同步解决方案的工作速度应与简单的非同步解决方案一样快
  • 为什么在 Spring Boot 应用程序中加载大量数据时 JPA/Hibernate 会变慢?

    当在 RestCall 中使用 Spring Data 时 会有一个 Session Hibernate 在其中缓存数据 在一个 RestCall 中加载一个新实体会导致 Hibernate 缓存该实体 直到 RestCall 完成 当加载
  • 如何在 Android 中保存和恢复 lambda?

    在Android中实现状态恢复时 如何保存和恢复lambda 我尝试将其保存为可序列化和可解析 但它会引发编译错误 有什么办法可以保存和恢复它们 还是应该寻求其他方法 Kotlin lambda 实现Serializable 所以它们可以这
  • 在 Java 中解析许多复杂的命令行参数的最佳方法是什么?

    我在 Python 中使用了 getopt 并希望 Java 中也有类似的东西 请给出你的答案比其他答案更好的理由 公共命令行界面 http commons apache org cli
  • 从数据框中提取公式中的变量

    我有一个包含一些术语和一个数据框的公式 早期的输出model frame call 包含所有这些术语以及更多术语 我想要模型框架的子集仅包含公式中出现的变量 ff lt log Reaction log 1 Days x y fr lt d
  • Apple 应用商店:提交应用程序供审核但不发布?

    我可以将我的应用程序提交到应用程序商店进行审核 但在获得批准后仍不发布吗 我正在尽我所能来迎接发布 以确保我们不会因为苹果的应用商店政策而遇到任何严重的延误 这是我第一次这样做 我认为我的应用程序中没有任何内容可能会导致它被拒绝 我只是想让
  • 使用新的createbitmap方法时如何设置QR码的纠错级别

    这个问题参考API文档链接 http www blackberry com developers docs 7 0 0api net rim device api barcodelib BarcodeBitmap html http www
  • Firebase 云消息传递设备组泄漏

    我将开发一个使用设备组功能的应用程序 据我了解 我需要首先发送我在 Android 客户端上获得的当前注册令牌onTokenRefresh到服务器 然后通过 HTTP 请求将此注册令牌添加到适当的设备组 如果不存在则创建它 然而 我看到了泄
  • 无法识别 Mozilla Firefox 中的右键单击事件

    我正在尝试为右键单击事件添加一些行为 奇怪的是我根本无法使事件处理工作 这是 jQuery 代码 body on click wrapper null function ev if ev which 2 ev which 3 alert H
  • jQuery DataTables 插件 - 添加自定义选项选择过滤器

    有人知道如何向 jQuery 数据表添加自定义选项选择过滤器吗 基本上是这样的示例页面 http datatables net examples plug ins range filtering html但不是有最小 最大文本字段 将它们更
  • Facebook 是 OpenID 提供商吗?

    Facebook 是 OpenID 提供商吗 我知道他们是 OpenID 支持者 但他们是否允许人们使用其 Facebook 凭据通过 OpenID 向其他网站进行身份验证 不 他们不是 OpenId 提供商 他们使用自己的类似于 Open
  • 在 JavaFX 中,绑定是动作侦听器的替代方案吗?

    我想知道在 JavaFX 中 绑定是否可以替代动作侦听器 事件 我们可以用绑定而不是事件处理来处理所有操作吗 No binding http docs oracle com javafx 2 binding jfxpub binding h
  • 通过 SSL 使用我自己的 GIT 服务器设置 TeamCity

    我有自己的GIT服务器存储库 可以通过HTTPS协议连接 我正在尝试设置 TeamCity 以连接到我的 GIT 存储库 但由于 HTTPS 协议而无法连接 在 Eclipse 中 我有一个设置 sslVerify false 我可以连接到
  • 使用react和next.js时找不到fs模块的错误如何解决

    我正在使用没有路由器设置的反应应用程序 我想构建我的 sitemap xml 文件 我尝试了一些模块 如 sitemap js react router sitemap sitemap generator 但这些模块会抛出错误 因为 fs
  • 第二次初始化时 AKFFTTap 停止工作

    这是讨论的延续here https stackoverflow com questions 49705736 akffttap stops generating data after some time 我正在 Swift 中构建一个适用于
  • Java 和 JavaScript 本质同时存在

    我有一个更大的 Maven 多模块项目 其中涉及多种语言 现在安装了 Eclipse JDT 和 JSDT 代码着色工作正常 但 JavaScript 中的代码完成功能不太好 这使得工作效率变得困难 Eclipse 似乎在我的项目中找不到
  • WinRT 从视频流中提取帧

    我正在使用内置摄像头解码条形码 我使用capElement Source CapturePhotoToStreamAsync从预览中捕获照片 它可以工作 但会冻结应用程序一小会儿 这感觉非常笨拙和错误 因此 我希望在后台执行此操作 同时在处
  • DropDownList如何选择默认值

    我的页面上有很多 DropDownList class BigViewModel public List