【发布时间】:2014-07-24 22:38:55
【问题描述】:
我有 asp.net mvc 4 项目,在 razor 视图中我有订单列表,每个订单都是带有值和选择输入的表单。当我尝试保存实体时,我的值输入已成功保存,但 select 未发送所选值,仅发送 null。
查看
@{
ViewBag.Title = "";
Layout = "~/Views/Shared/_Layout.cshtml";
var cityRepo = new Repository<City>();
var listItemsCities = cityRepo.GetAll().Select(city => new ListItem() {
Value = city.Id.ToString(),
Text = city.Value
}).ToList();
}
@foreach (var order in Model) {
<tr>
@using (Html.BeginForm("UpdateDispatcherFromForm", "Home", FormMethod.Post)) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<td>
@Html.HiddenFor(x => order.Id)
</td>
<td>
@Html.DropDownList("CityId", new SelectList(listItemsCities, "Value", "Text", order.CityId), "")
@*@if (order.City != null) {
@order.City.Value
}*@
</td>
<td>
@Html.EditorFor(x => order.Address)
@*@order.Address*@
</td>
<td>
<input type="submit" value="Save" />
</td>
}
</tr>
}
控制器
[HttpPost]
public ActionResult UpdateDispatcherFromForm(Order order) {
_orderRepo.Update(order);
_orderRepo.SaveChanges();
return RedirectToAction("Dispatcher");
}
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor