我是使用 razor 进行 MVC 编程的新手,我需要您就我的代码有什么问题提出建议。
我有一个模型
public class OrderDetails : OrderList
{
      public string CompanyId { get; set; }
      public List<OrderItems> OrdItems { get; set; }
}
public class OrderItems
{
      public int Id { get; set; }
      public string StopAddressName { get; set; }
}
我有一个填充数据的控制器。
public ActionResult Edit()
{
      OrderDetails ordDtl = new OrderDetails();
      ordDtl.CompanyId = "1";
      ordDtl.OrdItems = new List<OrderItems>();
      for (int i = 1; i < 4; i++)
      {
          OrderItems tmp = new OrderItems();
          tmp.Id = i;
          tmp.StopAddressName = "Street " + i;
          ordDtl.OrdItems.Add(tmp);
      }
      return View("EditOrder", ordDtl);
}
当我发送它以查看它时,它会显示所有数据。这是我的看法。
@model OrderDetails
@using (Html.BeginForm("Edit", "Orderlayouts", FormMethod.Post))
{
   <fieldset><legend>OrderDetail</legend>
        <div class="editor-label">
            @Html.LabelFor(model => model.CompanyId)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.CompanyId)
        </div>
        <table>
          <tr>
             <td>id</td>
             <td>Address</td>
          </tr>
          @foreach (var itm in Model.OrdItems)
          {
          <tr>
             <td>@itm.Id</td>
             <td>@itm.StopAddressName</td>
          </tr>
          }
          </table> 
<p>
    <input type="submit" value="Edit" />
</p>
    </fieldset>
}
当我单击控制器 CompanyID 中的提交按钮时,但 OrdItems 值变为空。你能指出我的代码出了什么问题吗?这是我的控制器。
[HttpPost]
public ActionResult Edit(OrderDetails Orderdt)
{
    return View("EditOrder", Orderdt);
}
任何建议将不胜感激。