.net mvc Html.DropDownListFor 设置默认值无效
错误描述:
控制器部分:
//从数据字典中加载下拉框 (使用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 设置默认值无效的更多相关文章
- oracle设置默认值无效
一次做农行的项目,在向一个表插入数据时我们要求插入字符类型的操作日期和时间,我们这边当时采取的是给日期和时间字段设置默认值的方法:下面我简单还原一下当时的表结构 -- Create table cre ...
- 如何给DropDownListFor设置默认值
1.直接赋值: @Html.DropDownListFor(o => o.ParentId, ViewBag.root as IEnumerable<SelectListItem>, ...
- mysql datetime设置now()无效,直接用程序设置默认值比较好
mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...
- @Html.DropDownList 设置选中值无效
有时候在ASP.NET MVC中用@Html.DropDownList 设置选中值无效,如图: 具体原因说不清,反正只要改个名字就行了!!!,如图:::
- c#为字段设置默认值,以及构造函数初始化List对象。
1.为字段设置默认值 /// <summary> /// 默认值 /// </summary> ; ; /// <summary> /// 页的大小 /// < ...
- Extjs editor 设置默认值
一.前言 Ext js 给 editor 设置默认值用 value 无效,在 Model 中添加 defaultValue 即可. 二.实例 view: Ext.define('xxxx.view.P ...
- easyui-textbox使用value设置默认值失效
1,使用easyu-textbox的value参数设置默认值失效,easyui-textbox放到dialog弹框中,当dialog的closed为false时,也就是打开dialog时,设置的val ...
- ng-option指令使用记录,设置默认值需要注意
ng-options一般有以下用法: 数组作为数据源: label for value in array select as label for value in array label group ...
- 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...
随机推荐
- java.lang.NoSuchMethodError: org.json.JSONArray.iterator()Ljava/util/Iterator 阿里云短信
请尝试使用 <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk ...
- 4.3 数据操纵语言(DML)
本章介绍DML的基本语句. 对数据只能执行以下四种操作:创建(Create)记录.读取(Read)记录.更新(Update)记录值和删除(Delete)记录.这几个词拼写为CRUD——即可对数据执行C ...
- ubuntu上安装redis
1.Redis简要介绍 访问Redis官方网站 https://redis.io/ 上面介绍到 ,redis是开源,BSD许可,高级的key-value存储系统,可以用来存储字符串,哈希结构,链表,集 ...
- 《码出高效 Java开发手册》第五章 异常与日志
码云: https://gitee.com/forxiaoming/JavaBaseCode/blob/master/EasyCoding/src/exception/index.md 5.2 try ...
- Linux 添加定时任务,crontab -e 命令与直接编辑 /etc/crontab 文件
1. 使用 crontab -e 命令编辑定时任务列表 使用这个命令编辑的定时任务列表是属于用户级别的,初次编辑后在 /var/spool/cron 目录下生成一个与用户名相同的文件,文件内容就是我们 ...
- ASP.NET Core 2 学习笔记(十一)Cookies & Session
基本上HTTP是没有记录状态的协定,但可以通过Cookies将Request来源区分出来,并将部分数据暂存于Cookies及Session,是写网站常用的用户数据暂存方式.本篇将介绍如何在ASP.NE ...
- Code Signal_练习题_Array Replace
Given an array of integers, replace all the occurrences of elemToReplace with substitutionElem. Exam ...
- Python爬虫学习记录【内附代码、详细步骤】
引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...
- HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试
No1. 必须搭建java环境 只需要最基础的java环境,也就是cmd下可以运行java和javac即可, 具体教程请自行百度,都会有很详细的教程,这里不重点介绍. No2. 下载安装HBuilde ...
- CSS代码缩写
盒模型代码简写 还记得在讲盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在margin和paddin ...