MVC框架中如何进行List<SelectListItem>绑定

如题所述

public ActionResult Modify(int id)
{

//3.1.1 检查id
//3.1.2根据id查询数据
Models.Student stu = (from s in db.Students where s.Id == id select s).FirstOrDefault();
//方法一、查询班级数据,并 做成 下拉框 选项集合
//List<Models.Class> listClass = (from c in db.Classes where c.CIsDel == false select c).ToList();
//ViewBag.classList = listClass;
//方法二 查询班级数据,并转成 下拉框选项 集合
List<SelectListItem> listClass = db.Classes.Where(c=>c.CIsDel==false).ToList()//先查询数据 并 转成 实体List集合
.Select( c=> new SelectListItem() { Text = c.CName, Value = c.CID.ToString(), Selected = (stu.CId == c.CID) }).ToList();//将实体集合 转成 SelectListItem集合
//将 下拉框选项 集合 设置给 ViewBag ,用以传递 到 视图
ViewBag.classList = listClass;
//SelectList
//3.1.加载视图,并传递 要修改的数据
return View(stu);
}

2

<table>
<tr>

<td>姓名:</td>

<td><input type="text" name="Name" value="@Model.Name" /></td>

</tr>

<tr>
<td>班级:</td>
<td>
@* 这是方法一*@

@*<select name="CID">

@foreach (Class s in @ViewBag.classList as List<Class>)

{

if(s.CID == Model.CId){

<option selected value="@s.CID">@s.CName</option>

}else{
<option value="@s.CID">@s.CName</option>
}

}
</select>*@

@* 这是方法二*@

@Html.DropDownList("CId", ViewBag.classList as IEnumerable<SelectListItem>)
</td>
</tr>

</table>

3

@* @Html.DropDownList("BelongCollege", ViewBag.BelongCollege as IEnumerable<SelectListItem>)*@

@Html.DropDownListFor(model=>model.BelongCollege, ViewBag.BelongCollegeEnum as IEnumerable<SelectListItem>)

@* <select name="BelongCollege" id="BelongCollege" class="valid">

@foreach (var s in (@ViewBag.BelongCollege as IEnumerable<SelectListItem>))
{

if (int.Parse(s.Value) == Model.BelongCollege)

{

<option selected value="@s.Value">@s.Text</option>

}

else

{

<option value="@s.Value">@s.Text</option>
}

}

</select>*@
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-09

public ActionResult Modify(int id)

{

1. 检查id

2.根据id查询数据

Models.Student stu = (from s in db.Students where s.Id == id select s).FirstOrDefault();

方法一:查询班级数据,并 做成 下拉框 选项集合

List<Models.Class> listClass = (from c in db.Classes where c.CIsDel == false select c).ToList();

ViewBag.classList = listClass;

方法二 :查询班级数据,并转成 下拉框选项 集合

List<SelectListItem> listClass = db.Classes.Where(c=>c.CIsDel==false).ToList()//先查询数据 并 转成 实体List集合

.Select( c=> new SelectListItem() { Text = c.CName, Value = c.CID.ToString(), Selected = (stu.CId == c.CID) }).ToList();//将实体集合 转成 SelectListItem集合

将 下拉框选项 集合 设置给 ViewBag ,用以传递 到 视图

ViewBag.classList = listClass;

SelectList

3.加载视图,并传递 要修改的数据

return View(stu);}

2

<table>

<tr>

<td>姓名:</td>

<td><input type="text" name="Name" value="@Model.Name" /></td>

</tr>

<tr>

<td>班级:</td>

<td>

本回答被网友采纳

springmvc 如何接收list<user> 集合
方法一:只传每条记录的id,再在action中一个一个拿;方法二:直接将List转化为json对象,再用ajax传入到后台;

关于MVC5中enum类型的属性,使用display显示自定义名称的问题_百度知 ...
model Enum@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata)){ \/\/ Display Enum using same names (from [Display] attributes) as in editors string displayName = null; foreach (SelectListItem item in EnumHelper.GetSelectList(ViewData.ModelMetadata, (Enum)Model)) ...

mvc中怎么让页面显示3行3列,数据需要重数据库中读取。 求指点 谢谢...
就已Goods类为例,GoodsList中有3条记录:foreach (Goods item in ViewBag.GoodsList){ <table width="80%" border="0"> <tr> <td>Good1<\/td> <td>Good2<\/td> <td>Good3<\/td> <\/tr> <\/table> }

C# mvc 把数据存入datatable中,如何让数据在前台的<table><\/table>中...
public List<T> SelectsAll<T>(DataTable dt) where T : new(){ \/\/ 定义集合 List<T> list = new List<T>();\/\/ 获得此模型的类型 Type type = typeof(T);\/\/定义一个临时变量 string tempName = string.Empty;\/\/遍历DataTable中所有的数据行 foreach (DataRow dr in dt.Rows){ T...

spring mvc里面,为什么要单独出来一个service层调用dao再传给controller...
那你就可以差分页之后,再在controller中调用查部门的service,这样把分页查到的list遍历一下就可以把按id把部门插进去,这样的好处是你人员的查询service中的sql只关心人员表的数据,不用各种关联其它表(但是有时候还是需要关联的).就说这么多吧,纯手打,第一次打这么多东西......

如何实现springmvc+mybatis用多选框批量删除的功能Java代码
foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名. (直接找到对应的delList集合里面的所有元素,item="item"中的item(后一个)必须与#{item} 中的item一致)index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.open...

mvc视图中怎么上传图片并显示
<input type="text" name="url1" id="bigImage1" style="width:150px;" onclick="selectImage(this)" \/> <input type="hidden" name="smallUrl1" id="smallbigImage1" value="" \/> 当点击第一个文本框时,弹出一个上传窗口,选择一张图片并点“上传”,上传成功后可预览图片。此过程会在服务器上...

spring mvc mybatis 整合 大体步骤
首先引入springmvc的JAR包<!--springMVC相关框架 --><dependency><groupId>org.springframework<\/groupId><artifactId>spring-web<\/artifactId><version>${spring.version}<\/version><\/dependency><dependency><groupId>org.springframework<\/groupId><artifactId>spring-webmvc<\/artifactId><version>${spring....

springmvc注解开发详解(springmvc注解开发详解)
SpringWebMVC是一种基于Java的实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringWebMVC也是要简化我们日常Web开发 image.png springmvc常用注解详解 @Controller 在SpringMVC中,控制器Contro...

基于mvc 结构的j2ee开发中,将表示层的框架如struts用配置文件替换,会有...
问题就是解析不了,找不到struts.xml文件,可以用struts.property文件替换

相似回答