Html.DropDownList传值
Html.DropDownList传值:
可以传入明确的IEnumerable<SelectListItem>,也可以通过ViewBag或者ViewData隐式地传入,前提是需要相同的名称,比如:ViewBag.GenreId或者ViewData["GenreId"]。
示例:
public ActionResult Index()
{
var SelectItems = new List<dynamic>(){
new { id = , name="刘新"},
new { id = , name="小明"},
new { id = , name="蛋蛋"}
};
//SelectList : 使用SelectList辅助类构建
ViewBag.SelectItem = new SelectList(SelectItems, "id", "name", ); //使用SelectListItem对象集合
var SexItems = new List<SelectListItem>{
new SelectListItem{ Text="男", Value="", Selected=true},
new SelectListItem{ Text="女", Value=""}
};
return View(SexItems);
}
视图:
@model IEnumerable<System.Web.Mvc.SelectListItem>
//使用ViewBag或者ViewDate隐式传入,通过@Html.DropDownList指定的name匹配ViewBag或者ViewDate的属性值(不指定第二个参数默认是根据指定的name去ViewBag或者ViewData查找同名的属性)
@Html.Label("person_id", "人员"): @Html.DropDownList("SelectItem", null, new { id = "person_id" })<br/>
//也可以将ViewBag.SelectItem转换成IEnumerable<SelectListItem>
@Html.Label("person_id", "人员"): @Html.DropDownList("SelectItem", ViewBag.SelectItem as IEnumerable<SelectListItem>, new { id = "person_id" })<br/>
//使用强类型视图对象填充select, 需要声明Model的类型
@Html.Label("sex", "性别"): @Html.DropDownList("sex", Model, new { id = "sex" })
注意:
1. @Html.Label的第一个参数表示for特性的值, 第二个参数表示lable文本
2. SelectList是IEnumerable<SelectListItem>的进一步封装而已。可以根据不同的场景选择使用哪一种
3. 将SelectList转换成IEnumerable<SelectListItem>会丢失默认选择的项
执行结果:
生成的代码:
<label for="person_id">人员</label>:
<select id="person_id" name="SelectItem">
<option value="1">刘新</option>
<option selected="selected" value="2">小明</option>
<option value="3">蛋蛋</option>
</select>
<br/>
<label for="person_id">人员</label>:
<select id="person_id" name="SelectItem">
<option value="1">刘新</option>
<option value="2">小明</option>
<option value="3">蛋蛋</option>
</select>
<br />
<label for="sex">性别</label>:
<select id="sex" name="sex">
<option selected="selected" value="1">男</option>
<option value="0">女</option>
</select>
Html.DropDownList传值的更多相关文章
- ASP.NET MVC中,前台DropDownList传值给后台。
List<SelectListItem> ZH = new List<SelectListItem>(); ZH.Add(new SelectListItem { Text = ...
- DropDownList单选与多选下拉框
一.单选DropDownList传值 1.添加界面的DropDownList显示值问题 (1)在方法内添加ViewData的方法: var ad = new UnitsRepository(); Vi ...
- Asp.net mvc页面传值-- dropdownlist
后台传值 List<ConfigParamInfo> paramList = configParamBLL.GetModelList(" and parentID=1" ...
- Dropdownlist中用viewmodel传值处理方法
背景:MVC框架,页面使用razor语法,下拉框的话使用了@Html.DropDownList(),以前传值使用viewdata,但是我们老大说这个方式比较low,希望我可以使用viewmodel的方 ...
- dropdownlist无刷新传值
既然局部刷新,其实没有必要用服务器控件,即便用了服务器控件,也不应该将AutoPostBack="true" ,这将导致页面回发并刷新,因此去掉下拉框的该属性 至于局部改变div的 ...
- Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]
[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...
- Ado.net[增删改查,GET传值]
1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.c ...
- ASP.NET MVC 下拉框的传值的两种方式
以前使用WebForm变成时,下拉框传值只需直接在后台绑定代码就可以了.现在我们来看看在MVC中DropDownList是如果和接受从Controller传过来的值的. 第一种:使用DropDownL ...
- [moka同学笔记]yii2.0 dropdownlist的简单使用(一)
1.controller控制中 $modelCountrytelCode = CountryTelCode::find()->orderBy('id DESC')->all(); $tel ...
随机推荐
- Linux基础实验(二)
一)基础实验: 1. 新建文件a.txt,并用权限模式.权限值两种方式修改权限为rwxrwx--x 新建文件:touch a.txt 权限模式:chmod ug=rwx o=x a.tx ...
- 深入了解java虚拟机(JVM) 第七章 内存分配策略
理解了jvm内存分配策略不仅是程序性能调优的重要知识,还能够给养成自己一种良好的代码思路,一个程序的代码差异往往都是在这里体现出来的. 一.对象优先分配到Eden区域 一般来说,新创建的对象都会直 ...
- “全栈2019”Java第九十六章:抽象局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- C++中重载、覆盖和隐藏
一,多态性 1,(1)声明了基类的指针,该指针指向基类,该指针永远调用自己的成员函数,不管函数是否为虚函数. (2)声明了派生类的指针,该指针指向该派生类,该指针永远调用自己的成员函数,不管函数是否为 ...
- Java多线程学习(一)
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列.Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非 ...
- robot framework-断言
*** Test Cases *** 断言一 #01.should contain . should not contain 与should contain x times @{list1}= cre ...
- 使用服务器上的Jupyter notebook。
1.jupyter notebook --generate-config #产生配置文件 2.from notebook.auth import passwd #进入python环境,生成密码密文.第 ...
- multiprocess(上)
仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块.由于提供的 ...
- POJ 2209
#include<iostream> #include<stdio.h> #include<algorithm> #include<math.h> #d ...
- window.open完美替代window.showModalDialog
var url = "http//:www.baidu.com/" var name = "百度"; var iWidth = 1100;//弹窗宽度 var ...