错误描述:

控制器部分:

//从数据字典中加载下拉框 (使用DropDownListFor,SelectList 中不需要设置选中值,即便设置了选中值,也会优先读取Model中对应的值)

 ViewBag.Entity= new SelectList(dataDtos.FindAll(c => c.DictTypeName == "Entity"), "Value", "Name");

视图部分:

 @Html.DropDownListFor(m => m.Entity, (SelectList)ViewBag.Entity, "----", new { @class = "form-control", placeholder = "" })

进入编辑状态后发现,已保存的数据,DropDownList无法正常绑定。

解决方法:产生这种问题的原因是实体中的字段 Entity 与 ViewBag的命名Entity一致,将两者名字改成不一致即可。

 //控制器部分:
ViewBag.EntityList = new SelectList(dataDtos.FindAll(c => c.DictTypeName == "Entity"), "Value", "Name");
//视图部分:
@Html.DropDownListFor(m => m.Entity, (SelectList)ViewBag.EntityList, "----", new { @class = "form-control", placeholder = "" })

另外Razor视图循环绑定数组时,下拉框如果使用SelectList赋值,下拉框也是不能正常绑定的:

@Html.DropDownListFor(m => m.NodeList[i].ContractNode, (SelectList)ViewBag.ContractNodeList, "请选择", new { @class = "form-control"})

解决方式:后台传递IEnumerable<T>,而不是SelectList:

@Html.DropDownListFor(m => m.NodeList[i].ContractNode, new SelectList(ViewBag.ContractNodeList, "Value", "Name", Model.NodeList[i].ContractNode), "请选择", new { @class = "form-control"})

参考:https://stackoverflow.com/questions/2278056/dropdownlistfor-not-selecting-value

.net mvc Html.DropDownListFor 设置默认值无效的更多相关文章

  1. oracle设置默认值无效

    一次做农行的项目,在向一个表插入数据时我们要求插入字符类型的操作日期和时间,我们这边当时采取的是给日期和时间字段设置默认值的方法:下面我简单还原一下当时的表结构 -- Create table cre ...

  2. 如何给DropDownListFor设置默认值

    1.直接赋值: @Html.DropDownListFor(o => o.ParentId, ViewBag.root as IEnumerable<SelectListItem>, ...

  3. mysql datetime设置now()无效,直接用程序设置默认值比较好

    mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...

  4. @Html.DropDownList 设置选中值无效

    有时候在ASP.NET  MVC中用@Html.DropDownList 设置选中值无效,如图: 具体原因说不清,反正只要改个名字就行了!!!,如图:::

  5. c#为字段设置默认值,以及构造函数初始化List对象。

    1.为字段设置默认值 /// <summary> /// 默认值 /// </summary> ; ; /// <summary> /// 页的大小 /// < ...

  6. Extjs editor 设置默认值

    一.前言 Ext js 给 editor 设置默认值用 value 无效,在 Model 中添加 defaultValue 即可. 二.实例 view: Ext.define('xxxx.view.P ...

  7. easyui-textbox使用value设置默认值失效

    1,使用easyu-textbox的value参数设置默认值失效,easyui-textbox放到dialog弹框中,当dialog的closed为false时,也就是打开dialog时,设置的val ...

  8. ng-option指令使用记录,设置默认值需要注意

    ng-options一般有以下用法: 数组作为数据源: label for value in array select as label for value in array label group ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...

随机推荐

  1. Hadoop/Spark生态圈里的新气象

    令人惊讶的是,Hadoop在短短一年的时间里被重新定义.让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义. 对于Hadoop你需要了解的最重要的事情就是 ,它不再是原来的Hadoop. ...

  2. windows端口查看及进程查找

    1. 使用netstat查看端口 netstat -ano 2. 查找特定端口号: netstat -aon|findstr "port" 3. 查找该端口的进程 tasklist ...

  3. 谷歌眼镜能给Apple Watch带来啥前车之鉴?

    当下,你想不听到Apple Watch的消息都难.这款智能手表在三月初发布时,有关它的新闻报道铺天盖地.记者们在博客上对发布会的每个阶段进行了实况报道,苹果粉丝们通过博客. 推特和YouTube视频对 ...

  4. 2017年10月21日 CSS常用样式&鼠标样式 以及 jQuery鼠标事件& jQuery图片轮播& jQuery图片自动轮播代码

    css代码 背景与前景 background-color:#0000; //背景色,样式表优先级高 background-image:url(路径); //设置背景图片 background-atta ...

  5. 写一个有字符界面的ssh链接工具

    大概的样子 这是大致的样子- 写之前想说的 因为个人工作的的电脑是deepin系统的,系统本身的命令行非常好用,用第三方的ssh工具用不习惯,就想自己写一个. shell脚本是第一次写,写的不是很好, ...

  6. Java代理(三)

    前面说到了java的动态代理,但是动态代理依赖于接口,这次来看看cglib来实现的代理... 假设有如下方法,这回没有说接口哦~ package proxy.cglibProxy; public cl ...

  7. IDEA 中将已有项目放到 GitHub 上去

    前言:公司用的都是 idea+svn 来管理代码,所以家里尝试一下 idea+github 来管理.我的本地仓库是配置过ssh key,所以此处没有再次配置ssh key,如需配置可以参考 https ...

  8. 关于pycharm 打不开某些文件夹和文件打不开的问题

    在使用pycharm的时候遇到了一个情况, 下载了一个文件,自己修改了文件夹名称后再打开文件夹里的py文件, 打不开了,pycharm没有反应, 百度了一下,没有类似的问题,觉得应该是个个例... 然 ...

  9. 总结oninput、onchange与onpropertychange事件的使用方法和差别

    onchange事件仅仅在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效:而onkeydown/onkeypress/onkeyup在处理复制.粘贴.拖拽.长按键(按住键盘不放)等细节上 ...

  10. linux基础学习之软件安装以及常用命令(三)

    添加和查看用户: [root@localhost ~]# useradd anderson [root@localhost ~]# cat /etc/passwd 显示如下: [root@localh ...