将列表从视图传递到控制器 - MVC4

时间:2014-03-23 07:35:07

标签: asp.net-mvc-4

我现在有点被困在这里。

我的模特在这里

命名空间DSS.Models

{
    public class SupplierItems
    {
        public string GroupID { get; set; }
        public string GroupName { get; set; }
        public List<SupplierLineItems> LineItems { get; set; }
    }
}

并且“供应商项目的属性”在“模型”中定义为

 namespace DSS.Models
    {
        public class SupplierLineItems
        {


                 public string Frequency { get; set; }
                 public string UnitPrice { get; set; }
                 public int Index { get; set; }

        }
    }

我的控制器只是对供应商项目和订单项进行硬编码

 namespace DSS.Controllers
    {
        public class HomeController : Controller
        {
           [HttpPost]
            public ActionResult GetLineItems(SupplierItems SupplierItems)
            {
                return View();
            }
            public ActionResult Index()
            {


                List<SupplierLineItems> ListOfLineItems = new List<SupplierLineItems>();
                SupplierLineItems LineItems = new SupplierLineItems();
                LineItems.Frequency = "Regulate";
                LineItems.UnitPrice = "20";
                LineItems.Index = 1;

                ListOfLineItems.Add(LineItems);

                SupplierLineItems LineItems1 = new SupplierLineItems();
                LineItems1.Frequency = "Regulate";
                LineItems1.UnitPrice = "20";
                LineItems.Index = 2;

                ListOfLineItems.Add(LineItems1);


                SupplierItems Items = new SupplierItems();
                Items.GroupID = "1";
                Items.GroupName = "Core Group";
                Items.LineItems = ListOfLineItems;


                return View(Items);
            }
        }
    }

这是我的观点

@model DSS.Models.SupplierItems
@using DSS.Models
@{
    ViewBag.Title = "Home Page";
    {

       <a  type="submit" href="@Url.Action("GetLineItems", "Home", Model)">@Model.GroupName</a> 


         <br />

       foreach (var item in Model.LineItems)
      {     
            @item.Frequency<br />
            @item.UnitPrice<br />
            @item.Index<br /> 

       }

     }

}

当我点击我的视图的Anchor标签并将模型传递给Home Controller的“GetLineItems”时,我的供应商项目成功通过但是行项目列表始终为空。我不确定出了什么问题。任何人,请帮助

enter code here

1 个答案:

答案 0 :(得分:0)

您应该将ajax帖子用于控制器,或者只是使用表单提交来实现此目的 而不是使用url.action,它是提交的网址形式