Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 编辑MVC4中的简单下拉列表_Asp.net Mvc_Drop Down Menu_Edit - Fatal编程技术网

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