在MVC中动态创建随机数下拉列表

时间:2012-02-11 15:33:42

标签: asp.net-mvc-3

我需要根据另一个下拉列表的选定值在我的视图中创建一个随机数量的下拉列表。这一切都已完成但我的问题出现在我需要制作httppost因为我从来不知道需要在我的数据库中保存多少数据。

在我的模型中,我有一个列表

public List<RoomToBooking> RoomsToBooking { get; set; }

在用户选择下拉列表1后呈现创建视图时,将填充x个RoomToBooking:

var dogs = from d in db.Dogs
                       where d.Customer_ID == id
                       select d;
            foreach (Dog item in dogs)
            {
                roomToBooking = new RoomToBooking();
                roomToBooking.Customer_ID = id;
                roomToBooking.Dog = item;
                roomsToBookingList.Add(roomToBooking);
            }

所以我想在我的创建视图中创建相同数量的下拉列表

 @Html.DropDownListFor(model => model.Booking.RoomToBooking, new SelectList(ViewBag.DeliveryTypes), new { @class = "selectbox" })
        @Html.ValidationMessageFor(model => model.Booking.RoomToBooking)

所以我最终能够将它保存到我的db

[HttpPost]
    public ActionResult Create(EditBookingPensionViewModel model)
    {
        foreach (RoomToBooking item in objViewModel.RoomsToBooking)
        {
            //Save to db
        }            
    }

我假设我应该使用jquery来创建下拉列表,但是如何创建下拉列表以便可以在我的viewmodel中找到所选的值?

1 个答案:

答案 0 :(得分:1)

您可以查看following article。我可能需要对您的方案进行轻微调整,因为您没有添加和删除按钮,而是使用下拉列表的选定值来确定要添加的动态行数。但这个概念完全一样。