Dictionary 的下拉列表不适用于所选值

2024-04-25

我正在尝试以这种方式绑定 MVC3 中的下拉菜单。

Model

public static Dictionary<string, string> SexPreference()
{
      var dict = new Dictionary<string, string>();
      dict.Add("Straight", "S");
      dict.Add("Gay", "G");
      dict.Add("Bisexual", "BISEX");
      dict.Add("Bicurious", "BICUR");
      return dict;
}

控制器

ViewBag.SexPreference = MemberHandler.SexPreference();

View

@{
var itemsSexPreference = new SelectList(ViewBag.SexPreference, "Value", "Key", Model.sexpreference);
}

@Html.DropDownListFor(m => m.sexpreference, @itemsSexPreference)

下拉菜单没有选择所选值,不知道为什么。


你为什么要设置ViewBag.SexPreference当你有模型时?忘记这个 ViewBag。此外,您还应该有 2 个属性来创建下拉列表:一个标量类型属性用于保存所选值,一个集合属性用于保存所选值的列表。现在,您似乎只使用一个并尝试将 DropDown 绑定到集合属性,这显然没有任何意义。

使用视图模型以正确的方式进行操作:

public class MyViewModel
{
    public string SelectedSexPreference { get; set; }
    public Dictionary<string, string> SexPreferences { get; set; }
}

您将在控制器操作中填充并传递给视图:

public ActionResult SomeAction()
{
    var model = new MyViewModel();

    // Set the value that you want to be preselected
    model.SelectedSexPreference = "S";

    // bind the available values
    model.SexPreferences = MemberHandler.SexPreference();

    return View(model);
}

在你的视野中:

@model MyViewModel

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

Dictionary 的下拉列表不适用于所选值 的相关文章

随机推荐

  • 哪里可以下载 Microsoft.Phone.WinJS.2.1?

    我正在尝试使用 WinJS 制作通用 Windows 应用程序 我已经下载了VS2013的最新更新 RC 版本 我已经安装了我能找到的所有 SDK 我还安装了 WinLibJS VSE exe 扩展 有趣的是 VS 更新一直说我没有 当我打
  • 打印时字体颜色发生变化

    我这里有一个非常令人困惑的问题 我有一个动态构建的表 这里可能是一个不重要的事实 但只是让你知道 在网页上 我根据逻辑标准将文本设置为特定颜色 在页面上 看起来很棒 当进行打印预览 和实际打印 时 颜色有很大不同 在我的代码中 颜色是 红色
  • Laravel 通过表名获取模型

    有没有办法通过表名获取模型 例如 我有一个 用户 模型 其表定义为protected table users 现在 我想做的是通过等于 users 的表名获取模型 这个函数更像是相反的Model getTable 我到处搜索但找不到解决方案
  • 使用 BizTalk Web 服务重新发布内部 Web 服务

    我正在尝试使用 BizTalk 在两个 Web 服务之间进行通信 它必须是这样的 Service1获取输入并通过 BizTalk 发送消息Service2 Service2响应该消息 将其转发至 BizTalk 并将其传递至Service1
  • 导出到 Excel 电子表格 (XLSX) 失败

    使用 ASP NET 网页 我将一些数据导出到 Excel 电子表格 XLSX 当我使用 Visual Studio 运行代码时 代码运行良好 它正在导出具有正确数据的 XLSX 文件 但在部署到测试服务器时 相同的代码会失败 它不会抛出任
  • 在 VC9 中编译时不会出现警告级别 4 的警告。为什么人们不认为这是一种编译器缺陷呢?

    我看到一些发布的代码有超出范围的错误 这让我感到好奇 我希望编译器为此代码生成警告 至少在最高级别 pragma warning push 4 int main int x 2 x 2 0 return 0 pragma warning p
  • 如何打印HttpResponse返回的消息?

    我的 Android 手机上有此代码 URI uri new URI url HttpPost post new HttpPost uri HttpClient client new DefaultHttpClient HttpRespon
  • 自定义rightBarButtonItem消失

    我在导航栏中有一个自定义 rightBarButtomItem 的奇怪错误 我有一个 TabBar 应用程序 如果应用程序已加载 按钮将显示正确 如果我单击选项卡 按钮将继续显示 如果我返回到已显示的选项卡之一 该按钮就会消失 最后 该按钮
  • 使用 python 从 HDFS 获取文件名列表

    这里是 Hadoop 菜鸟 我搜索了一些有关 hadoop 和 python 入门的教程 但没有取得太大成功 我还不需要使用映射器和缩减器进行任何工作 但这更多是一个访问问题 作为Hadoop集群的一部分 HDFS 上有一堆 dat 文件
  • 如何使用jquery打开选择输入

    所以我可以看到选择元素的选项 但我需要单击它 如果我想使用一个函数怎么办 当发生某些事情时 应该选择此选择元素 这意味着列表已打开并且我可以看到选项 我不希望用户单击选择元素 我想要其他东西来打开它 我尝试过的 select select
  • PHP readdir 和排序

    我正在做一个小画廊 我想从目录中读取文件名 并在删除一些前导数字和文件扩展名后打印下面的文件名 我有两个版本的代码 版本 1 不排序 current dir DOCUMENT ROOT weddings2 dir opendir curre
  • Android可扩展列表视图片段

    我正在寻找具有可扩展列表视图的片段 搜索后我发现了一个实现可扩展列表视图片段的类https gist github com 1316903 https gist github com 1316903 但我不知道如何使用它 请帮我 我尝试了列
  • MFMailComposeViewController、Swift 4、Xcode 9

    我的 MFMailComposeViewControllerDelegate 函数有问题 func mailComposeController controller MFMailComposeViewController didFinish
  • 仅根据邮政编码在 R 中绘制热图

    我想在 R 中绘制热图 但我的数据文件是这样的 Lat Long Zip Zvalue 我基本上需要在纬度和经度值之间进行插值 并根据 z 值绘制颜色 我怎样才能在 R 中做到这一点 我最终想要得到这样的东西 套餐spatstat是你的朋友
  • 使用 HelpProvider 类显示帮助,UI 始终位于帮助窗口后面

    我有一个使用 HelpProvider 类的 C Winforms 应用程序 每当我按 F1 调出帮助时 帮助窗口将始终位于我的应用程序顶部 我无法将我的应用程序 UI 带到前台 我仍然可以与我的 UI 交互 但帮助窗口将保留在顶部 这是
  • NetworkX:翻转图

    有没有办法以相反的顺序生成图形 即我想生成垂直翻转的图形 或者如果我可以在绘制之前用一些 matplotlib 子例程翻转它 F e 我希望 357 和 358 位于顶部 1 6 位于底部 只需交换您的位置坐标即可 import netwo
  • Flexbox 不包裹弹性项目

    我正在尝试使用 Flexbox 为我的网站设置布局 inb4 我不关心IE 但由于某种原因 这些物品没有包装 http jsfiddle net EnUuA http jsfiddle net EnUuA section display w
  • 如何将 lib 中的 jar 包含到 Netbeans 中的项目 jar 文件中?

    我正在使用一些 apache HttpClient jar 所以我将它们放在项目的 lib 目录中 当 Netbeans 编译项目时 它会复制 lib 并生成项目 jar 到 dist 目录中 但是当我使用 webstart 运行项目时 我
  • MySQL,其中 JSON 包含空数组

    如何在 JSON 列中搜索空数组 假设我有一个config有时 JSON 等于的列 tier WHERE JSON CONTAINS config tier 1 or WHERE JSON CONTAINS PATH config one
  • Dictionary 的下拉列表不适用于所选值

    我正在尝试以这种方式绑定 MVC3 中的下拉菜单 Model public static Dictionary