Asp.net mvc 编辑MVC4中的简单下拉列表
我有一个简单的用户表,它有编辑列,所以当你们点击它时,你们可以编辑这个特定的行。我的表格中有一列是时区,所以您可以选择您所在的时区。所以创建编辑字段的正确方法是下拉列表 所以我找到了这段代码并在我的控制器中实现了它:Asp.net mvc 编辑MVC4中的简单下拉列表,asp.net-mvc,drop-down-menu,edit,Asp.net Mvc,Drop Down Menu,Edit,我有一个简单的用户表,它有编辑列,所以当你们点击它时,你们可以编辑这个特定的行。我的表格中有一列是时区,所以您可以选择您所在的时区。所以创建编辑字段的正确方法是下拉列表 所以我找到了这段代码并在我的控制器中实现了它: public ActionResult Edit(int id = 0) { using (var dbVn = new userDbEntities()) { var edit = dbVn.UsersTab
public ActionResult Edit(int id = 0)
{
using (var dbVn = new userDbEntities())
{
var edit = dbVn.UsersTables.Find(id);
if (edit == null)
{
return HttpNotFound();
}
SelectListItem item;
var zoneList = new List<SelectListItem>();
item = new SelectListItem();
item.Text = "TimeZone1";
item.Value = "1";
zoneList.Add(item);
item = new SelectListItem();
item.Text = "TimeZone2";
item.Value = "2";
zoneList.Add(item);
ViewBag.ZoneT = zoneList;
return View(edit);
}
}
公共操作结果编辑(int-id=0)
{
使用(var dbVn=new userDbEntities())
{
var edit=dbVn.UsersTables.Find(id);
如果(编辑==null)
{
返回HttpNotFound();
}
选择ListItem项目;
var zoneList=新列表();
item=新建SelectListItem();
item.Text=“时区1”;
item.Value=“1”;
区域列表。添加(项目);
item=新建SelectListItem();
item.Text=“时区2”;
item.Value=“2”;
区域列表。添加(项目);
ViewBag.ZoneT=区域列表;
返回视图(编辑);
}
}
在我看来,我有:
<div class="editor-field">
@Html.DropDownListFor(model => model.TimeZoneId, new SelectList((IEnumerable<SelectListItem>)ViewBag.ZoneT, "Value", "Text", "1"))
@Html.ValidationMessageFor(model => model.TimeZoneId)
</div>
@DropDownListFor(model=>model.TimeZoneId,新选择列表((IEnumerable)ViewBag.ZoneT,“值”,“文本”,“1”))
@Html.ValidationMessageFor(model=>model.TimeZoneId)
如果我们有几个项目(3到4),这就可以了。但是,如果我们有一个列表(96),那么使用datatable(TimeZoneTable)是合适的
你知道如何在上面的controller代码中实现它吗…我已经在数据库(userDbEntities)中创建了一个新表。我将表命名为TimeZoneTable,并有两列(ZoneID,ZoneName),我在表中插入了值,现在我必须在代码中实现它。我认为首先我必须创建到表的连接(使用(var db=new userDbEntities()),而不是创建循环,在循环中,增量I++应该是我的ZoneID