在使用过程中,用到了ddlf, 但是一直不怎么好用, 而且经常在编辑页面,不能给ddlf赋值的问题,跟了一下代码,发现,要么简单的使用
List<SelectListItem> list = new List<SelectListItem> {
new SelectListItem { Text = "启用", Value = "0",Selected = false},
new SelectListItem { Text = "禁用", Value = "1",Selected=true } };
ViewBag.List = list1;
然后在页面中 Html.DropDownListFor(m=>m.name, ViewBag.List as List<SelectListItem>) 这样是没问题的
大家经常出现问题的是用 SelectList的时候,这里一定要注意, SelectList list = newSelectList(mylist,"","",***);这个***一定要有,表示选中的值是什么;
否则,生成的html代码中,是不会出现Selected的属性的; 这个不算是bug.
但是,另外出现了个问题就很郁闷了:
如下:
public ActionResult Edit(HostIP hip)
{
****
} ,如果这样写代码的话, 那么如果采用selectlist的方式,是不好用的,无论你怎么改值,都是第一次的值,很郁闷,没办烦,我的项目这种了下
public actionresult Edit( int? HostIPID)
{
} ,改成这样的时候,才能每次都获取新的下拉的值了,原因一直没查出来,不知道有没有高手知道呢?