我的 ASP.NET MVC SelectList 有什么问题?

2023-12-30

我正在尝试使用 SelectList 我的视图之一,但它只是未正确填充。它获得了正确数量的条目 (4),但它们都读取了System.Web.Mvc.SelectListItem。我启动了代码调试器,发现发生了一些奇怪的事情。我一定做错了什么,但我不太明白是什么。

来自 ViewModel 的代码:

public SelectList DeviceTypes {get; private set;}
....
var device_types = DataTableHelpers.DeviceTypes(); 
IEnumerable<SelectListItem> sl = device_types.Select(
                      dt => new SelectListItem { Selected = (dt.DeviceType == 1),
                      Text = dt.Description, 
                      Value = dt.DeviceType.ToString() }).ToList();
DeviceTypes = new SelectList(sl);

以及视图中的代码:

<%= Html.DropDownList("Type",Model.DeviceTypes) %>

因此,当我在调试器中查看此内容时,sl IEnumerable 已正确构建。我可以看到其中的所有 4 个元素,以及正确的 Text 和 Value 属性值。然而,一旦我调用 SelectList 构造函数,如果我展开它包含的 IEnumerable,我会看到它有 4 个条目,但其中的所有数据都已丢失。文本设置为System.Web.Mvc.SelectListItem,其值为null.

我尝试过改变ToList()打电话给ToArray(),以及完全删除它。这并没有改变行为。

我在这里做错了什么?


EDIT:划掉我的第一个答案。

您应该将 IEnumerable 列表(如果项目)传递给视图,而不是尝试在控制器中构造 Html 项目。

控制器代码:

public IEnumberable<YourModel> DeviceTypes {get; internal set;}
....
DeviceTypes = DataTableHelpers.DeviceTypes();

查看代码:

<%= Html.DropDownList("Type", from dt in Model.DeviceTypes
                              select new SelectListItem
                              {
                                  Text = dt.Description,
                                  Value = dt.DeviceType.ToString(),
                                  Selected = dt.DeviceType == 1
                              }) %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 ASP.NET MVC SelectList 有什么问题? 的相关文章

  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • Kendo Grid 内联编辑中的多选列表

    我需要在剑道网格 内联编辑 中使用多选列表 以便用户可以从每行列表中选择多个值 以下是我的要求 显示时 剑道网格应显示所有选定值的逗号分隔列表 添加时 剑道网格应显示多选列表并允许选择多个值 编辑时 剑道网格应显示具有已选择值的多选列表 用
  • PartialView Action 正在调用自身

    我有 MVC 应用程序 它用于从主视图 ProductMaster 将 ProductAreaGrid 列表显示为 PartialView 并且它将在局部视图内将 CreateProductArea 作为 PartialView 我的 Gr
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • 如何分配Profile值?

    我不知道我缺少什么 但我在 Web config 文件中添加了 Profile 属性 但无法访问 Profile Item在代码中或创建一个新的配置文件 我今天也遇到了同样的问题 学到了很多东西 Visual Studio 中有两种项目 网
  • Global.asax 和 Error.aspx 中的 ASP.NET MVC 错误日志记录

    我正在创建一个 ASP NET MVC 应用程序 我需要在两个地方处理异常 Global asax vb 文件 Public Class MvcApplication Inherits System Web HttpApplication
  • 如何在 MVC 3 中基于 XML 文件动态创建控件

    我有一个以 XML 格式存储在数据库中的 XML 文件 其中包含一些控件 例如下拉文本框 标签文本区域等 这些控件可能有也可能没有初始值 所以我的目标是读取 XML 文件 并根据控件类型 我需要动态创建该控件并关联初始值 如果有 并且页面的
  • 使用 MVC3 根据 Highchart 条形图中的值更改条形颜色

    我正在使用 Dotnet Highchart 和 MVC3 我目前正在使用一个如下所示的图表 我正在尝试修改我的代码 以便我可以根据条形的数量更改条形的颜色 我还想知道如何删除按钮 Snittbetyg 正如您在图像上看到的那样 这是我的代
  • URL 中的点 (.) 字符错误

    当我点击编辑具有此 url 的用户时遇到问题ASP NET MVC 3项目 http domain com 8089 User EditUser username surname IDUser e11a621p df11 4687 9903
  • mvc 4下拉默认值选择

    我想在下拉列表中选择默认值 其中policyId 7 但它没有选择该值 我做错了什么 控制器 var pm new ManagerClass IEnumerable
  • 如何使用 EF Code First 解释枚举类型

    这是一个模型 Public class Person Key Public int PersonId get set Public int Age get set Public ColorEnum FavoriteColor get set
  • 我可以在 ASP.NET MVC 中使用 [CompressFilter] 而不破坏甜甜圈缓存吗

    我正在努力获得 压缩过滤器 http www thegrubbsian com p 202 使用甜甜圈缓存并遇到问题 发生的情况是整个页面都被缓存 而不仅仅是甜甜圈 的来源CompressFilter我正在使用的是下面的 我从原始来源 ht
  • 重定向到其他控制器中的操作

    我想从一个控制器中的操作重定向到第二个控制器中的操作 通常我会使用 RedirectToAction actionName controllerName objects 我想要重定向到的方法有两个重载 一个用于 HttpVerbs Get
  • ASP.NET MVC3 IIS7.5:Cache-Control maxage 始终为 0(不利于客户端缓存)

    我正在使用 Fiddler 测试我的网站 并注意到网络服务器总是返回 Cache Control private s maxage 0 用于动态内容 MVC 操作 这可以防止页面在客户端缓存 不知道是MVC还是IIS的问题 我该如何修复它
  • 实体框架 - 选择特定列并返回强类型而不丢失强制类型转换

    我正在尝试做类似的事情这个帖子 https stackoverflow com questions 1094931 linq to sql how to select specific columns and return strongly
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • ViewDataFactory 和强类型母版页

    我试图让我的强类型母版页在我的 ASP MVC 2 0 应用程序中工作 在这两篇文章的帮助下我已经取得了很大的进展 在 ASP NET MVC 中将数据传递到母版页 https stackoverflow com questions 785
  • 选中哪个复选框(控制器)并列出结果

    我是 ASP NET MVC 新手 我正在制作一个在线视频商店应用程序 我有这样的看法 用户可以在其中选择要租借的视频 视图的代码 model IEnumerable

随机推荐

  • C# 异步 TCP 套接字:处理缓冲区大小和大量传输

    当使用阻塞 TCP 套接字时 我不必指定缓冲区大小 例如 using var client new TcpClient client Connect ServerIp ServerPort using reader new BinaryRe
  • Mapbox GL 集群缩放

    我试图在用户单击群集时显示所有标记 这是我到目前为止所做的 map on click function e var cluster features map queryRenderedFeatures e point layers clus
  • 获取剪贴板数据

    我正在尝试编写一个 Javascript 函数来在粘贴之前编辑剪贴板中的内容 现在我通过 JQuery 绑定了事件 粘贴 来运行 this elementDoc bind paste function event self OnPaste
  • 如何为我的 ds4208 条码扫描仪添加前缀值

    我有一台摩托罗拉 DS4208 条码扫描仪 我一直将其与一个程序结合使用 问题是我想在扫描结果中添加一些字符前缀 以便程序知道扫描仪扫描了某个项目 我尝试按照用户指南的说明进行操作 但扫描仪没有添加字符前缀 而是添加了回车符前缀 您是否指的
  • 不同日期范围的 Highcharts 图表 X 轴标签

    我编写了下面的代码 它生成选定日期 往返日期 的面积图 document ready function var options series showInLegend false color D0D0D0 name Revenue data
  • 将网页内容分享到 Instagram 故事

    我正在开发一个网络应用程序 其中一些内容以文本形式生成 并且很快也将包括图像 我想添加一个分享按钮 允许用户将此内容添加到他们的 Instagram 故事中 所以这个流程将是 用户在网站上执行某些操作 网站根据用户输入生成一些内容 用户点击
  • 如何禁用 vue 组件中的链接?

    我的html是这样的 div a class btn btn danger href add a div 我的 JavaScript 是这样的 var vue new Vue el app methods add event event t
  • QTP - 浏览器/页面标题更改时进行测试

    我试图进行简单的测试 但失败了 因为我不知道如何处理测试期间更改的浏览器标题 简单的例子 谷歌 gt 查找 blabol 完成后 QTP 中的浏览器标题将更名为 Google 结果 当搜索文本是一个在迭代之间变化的变量时 这显然是个问题 因
  • Spring Boot 找不到处理程序方法

    我有一个基本的 Spring Boot 应用程序 使用 Spring Initializr 嵌入式 Tomcat Thymeleaf 模板引擎 并打包为可执行 JAR 文件 这是主要课程 SpringBootApplication publ
  • 我如何获取服务器端的 HTML5 本地存储值

    我是一名 Net开发人员 我知道HTM5本地存储是客户端存储技术 我想获取服务器端本地存储的数据 为了从服务器端获取 cookie 值 我们有Request Cookie在 ASP NET 中 有没有类似的解决方案可以直接在服务器端获取本地
  • Angular MatPaginator 未初始化

    我有 2 个组件 两者都有 mat table 和分页器 分页适用于一个组件 但不适用于另一组件 尽管代码相似 下面是我的html div class mat elevation z8 div
  • 确定平均课程成绩的程序[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 该程序应该将包含学生测验成绩的文本文件写入另一个包含学生姓名的文件中 并为学生分配成绩 include
  • Google 帐户身份验证器在运行时请求许可

    我使用服务中的 AccountManager getAuthToken 来访问 Googledocs 和 Spreadsheet API 由于我是从后台执行此操作并且不想中断 user 因此我允许 accountManager 在需要用户交
  • Firebase minInstances 被忽略

    我们的目标是为 Firebase 云功能设置最小实例数 以便能够处理意外的流量突发 我们已经关注了这些说明 https firebase google com docs functions manage functions reduce t
  • 如何在特定条件下删除重复项

    我有一个 mysql 表 我想在特定条件下删除重复项 如果名称 cl 1 cl 2 cl 3 cl 4 cl 5 cl 6 完全相同 我想删除 否则如果其中一个不同且其他列相同 则无需删除 例如我想删除第 1 行和第 4 行而不是第 7 行
  • SQL 使用内连接将不存在的行的聚合值设为 0

    我正在使用 SQL Server 查询这三个表 它们看起来像 有一些额外的列 但不那么相关 客户 gt ID 姓名 地址 gt ID 街道 StreetNo CustomerId 销售 gt 地址 ID 周 总计 我想获得每周和客户的总销售
  • 将tinyint映射为布尔休眠

    我在 MySQL 表 TINYINT 1 中有一个 BOOLEAN 类型 并且我试图在实体中映射布尔字段 但这会生成异常 org hibernate HibernateException Wrong column type in maegu
  • SQL Server 存储过程转换为 SSIS 包

    问题 目前我们有大量的存储过程 很长 长达 10 000 行 这些存储过程是由不同的开发人员在过去 10 年中根据不同的需求编写的 现在管理那些复杂 长的存储过程 没有适当的文档 变得很困难 我们计划将这些存储过程移至 SSIS ETL 包
  • PostgreSQL:当将整数转换为非整数类型以强制 PostgreSQL 中的浮点除法时,我应该使用哪种数字类型?

    我知道StackOverflow上有很多整数除法问题 但我没有看到这个 与许多编程语言类似 如果两个操作数都是整数 PostgreSQL 就会执行整数除法 如果一个人有 SELECT s id AS student id COUNT DIS
  • 我的 ASP.NET MVC SelectList 有什么问题?

    我正在尝试使用 SelectList 我的视图之一 但它只是未正确填充 它获得了正确数量的条目 4 但它们都读取了System Web Mvc SelectListItem 我启动了代码调试器 发现发生了一些奇怪的事情 我一定做错了什么 但