具有键×××的 ViewData 项属于类型System.String,但它必须属于类型IEnumerable<SelectListItem>_sxf359的博客-程序员资料

技术标签: asp.net MVC  mvc  

此错误出现在表单提交的页面。并且表单有被绑定的下拉列表。
比如页面中有这个下拉框绑定代码:
@Html.DropDownListFor(model => model.Gender, null, new { htmlAttributes = new { @class = “form-control” } })
而在这个页面后台的相应controller的action中相应的有这样得代码:
ViewData[“Gender”] = genders.Where(m => m.Caption != “不限”).OrderByDescending(a => a.Code).Select(a => new SelectListItem
{
Text = a.Caption,
Value = a.Caption
});
这个在页面打开的时候是没有错的。因为 ViewData[“Gender”]已经在action中赋值了。但是一旦提交,通常都是HttpPost方式,提交的action名也是一样,提交后,一旦某项没有填写,而在model中已经定义了必填规则,则就会报具有键Gender的 ViewData 项属于类型System.String,但它必须属于类型IEnumerable的错。这是因为在某些没填或者填写格式不正确的情况下,都是返回原页面的。而这个时候httppost这个action中并没有类似 ViewData[“Gender”] = genders.Where(m => m.Caption != “不限”).OrderByDescending(a => a.Code).Select(a => new SelectListItem
{
Text = a.Caption,
Value = a.Caption
});
这样得定义。所以造成这样得错误。知道问题原因就有了相应的解决办法,要么在这个action中有相应的ViewData定义,要么跳转到其他页面,或者重新加载此页面

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sxf359/article/details/52965136

智能推荐

没有Unity3d_微软还是那个微软_coreclr_avi9111的博客-程序员资料

@[toc]一个周末过去,最熟悉的名词居然变成了“巴比伦”,还是英文。。。。。Babylon.js入门据说是微软系,由微软主导,网上相关信息和文章也比较多,不赘述。刚接触这个框架还是有被惊艳到实例多跨平台开源API详细有演示工具有游戏大厂合作项目一些API例子提供的方法,和小属性,多到另程序员害怕,微软还是那个微软。一般的“开源”哪会这般折腾,长...

Uboot中start.S源码解析_u010947693的博客-程序员资料

本文章转自https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html下面来对start.S进行详细分析,看看每一个部分,是如何实现的。1.1. 设置CPU模式1.1.1. globl/* * armboot - Startup Code fo

pandas dataframe 写入到hive_如何将pandas的dataframe写入到hive中_taiguangxing的博客-程序员资料

pandas dataframe 写入hive表关键流程主要分为两步:1:将pandas dataframe转换为sparkdataframe:这一步骤主要使用spark自带的接口:spark_df = spark.createDataFrame(pd_df)2:将spark_df写入到hive的几种方式spark_df.write.mode('overwrite').format("hive").saveAsTable("dbname.tablename")以下是一个demo的完整代码:

2021-10-11电子天平期间核查和日常核查管理方法_szhtw168的博客-程序员资料

电子天平是药品质量控制实验室最常见的称量器具,电子天平的合理使用和维护对检测数据的准确性起着重要的作用。根据我国《计量法》和《强制检定的工作计量器具检定管理办法》的规定,药品质量控制实验室的电子天平应定期定点由经授权的法定计量部门进行强制检定,按照JJG1036-2008《电子天平检定规程》[1]实施,检定周期一般不超过1年。除我国强制计量的规定外,目前国际通行的OQ、PQ及期间核查构成了量值溯源的重要保证。此外,药品质量控制实验室还须对电子天平进行日常核查。RB/T 214-2017《检验检测机构资质认

HDMI-CEC 在LG电视上的研究_usb-hdmi-cec_shallen320的博客-程序员资料

HDMI-CEC是HDMI的控制协议,使有HDMI的设备能通过HDMI线缆进行互相控制。CEC是Consumer Electronics Control(消费者电器控制)的缩写。本文探讨了HDMI-CEC在PC端的实现和应用

实验:Docker搭建WordPress5.9并连接MariaDB_小橘猫cate的博客-程序员资料

实验:Docker搭建WordPress5.9并连接MariaDB1、虚拟机CentOS7.5下载wordpress和mariadb镜像,查看本地镜像,2、通过run命令创建新的容器,[[email protected] ~]# docker run --name my_mariadb -p 3306:3306 --env MYSQL_ROOT_PASSWORD=root -d mariadb[[email protected] ~]# docker run --name my_wordpress.

随便推点

Android性能优化篇:从代码角度进行优化_安卓 代码重构优化_wurui8的博客-程序员资料

关注微信号:javalearns   随时随地学Java或扫一扫随时随地学Java通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解And

php smarty 数组 key,Smarty 模板 从php分配的变量 数组_weixin_39746552的博客-程序员资料

Smarty 模板 从php分配的变量 数组index.php:$smarty = new Smarty;$smarty-&gt;assign('Contacts',array('555-222-9876','[email protected]',array('555-444-3333','555-111-1234')));$smarty-&gt;display('ind...

centos7安装mysql-python 踩坑记_只看远方的博客-程序员资料

前言:昨天刚把我本地mac 上安装上了mysql-python 组件, 总结如下 1:brew install mysql 2:pip install mysql-python 大概这样就能装好。python 2.7今天准备把虚拟机也给安装上,一波三折,写个文章记录如下 1:pip install mysql-python,是不行的,报mysql_config 错误。这点有心理准备,知...

想用天猫精灵、小爱同学语音控制灯、窗帘、卷帘门、投影幕……实现你的智能家居梦?用十几元钱制作一个红外射频转发器试试吧_wo325866145的博客-程序员资料

使用场景自从智能音箱出现以后,是不是想用智能音箱控制家里的电器和设备?但是购买接入天猫精灵和小爱同学的设备都很贵,比如一套普通的电动窗帘架300元左右,但是接入智能音箱控制的最少要700元。想尝试智能家居控制的老铁们肯定都买过万能遥控器,但是万能遥控大多都只支持红外遥控,窗帘、单火线开关、卷帘门都是射频遥控的。这就很尴尬了,要语音控制难道要全部换掉吗?那就自己做一个红外转射频东西吧做的是个啥?...

MS-DOS 7.10完整安装版(含图文安装程序)_weixin_30764137的博客-程序员资料

大家知道,要想学习或使用DOS,安装一个DOS并进行实际操作是非常必要的。MS-DOS 7.10是一个非常好且强大实用的操作系统,而且兼容性和性能都十分强。要在系统中安装MS-DOS 7.10,可以使用MS-DOS 7.10安装程序自动将MS-DOS 7.10安装到系统中。MS-DOS 7.10安装程序是图形/菜单界面,并采用向导式进行。通过此安装程序,大家可以方便地将MS-DOS 7.10安装到...

pytorch - Tacotron2运行笔记_pytorch tcontron_赫凯的博客-程序员资料

搞了蛮多时间,就记录下 基于这个NVIDIA/tacotron2首先,Tacotron2 是一个端到端的,就是文字序列进去出来的是语音序列,分两个一个是从文字到梅尔频谱图,一个是从梅尔频谱图转化成语音,两部分再Navida pytorch 代码里是分开的,就一个一个训练,首先先看tacotron2 前端部分,就跟着步骤一步步来就可以了,其中要下载和自己显卡相匹配的PyTorch版本,训练应该没有...

推荐文章

热门文章

相关标签