我有一个简单的用户表,它有编辑列,所以当你点击它时,你可以编辑这个特定的行。我的表中的一列是TimeZone,因此您可以选择您所在的时区。因此,创建编辑字段的正确方法是下拉列表。
所以我找到了这段代码并在我的控制器中实现了它:
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);
}
}
在我看来,我有这个:
<div class="editor-field">
@Html.DropDownListFor(model => model.TimeZoneId, new SelectList((IEnumerable<SelectListItem>)ViewBag.ZoneT, "Value", "Text", "1"))
@Html.ValidationMessageFor(model => model.TimeZoneId)
</div>
如果我们有一些项目(3到4),这可以正常工作。但是如果我们有timezonese(96)的列表,那么使用数据表(TimeZoneTable)是合适的。
任何想法如何在控制器上面的代码中实现它......