下拉列表到MVC中的模型,其是List<>

时间:2016-08-30 09:31:17

标签: html asp.net-mvc-4

我有一个模型,它是一些对象的列表。每个对象都有一个"描述"提起。现在,我想要一个包含所有描述的下拉列表,在列表中。

    public ActionResult PopPage(string line)
    {
        List<Campaign> CampaignList = new List<Campaign>();
        SetLogFiles();            
        try
        {
            ViewBag.CLID = line;
            CampaignList = DBAccess.GetCampaigns();
        }
        catch (Exception ex)
        {
            Logger.WriteError(ex);
        }

        return View("LineStatePopUp",CampaignList);

    }

在视图的顶部:

@model List<ClickServer.Models.Campaign>

1 个答案:

答案 0 :(得分:1)

您要将广告系列列表作为模型发送到您的视图中。没关系。但是,您将如何获得用户选择的价值?为此,您应该在服务器端拥有绑定到客户端所选项目的属性。

我建议使用一个ViewModel,它将广告系列列表作为SelectListItem的集合(将在控制器中填充)和所选项目的另一个属性,然后直接将广告系列列表传递给您的视图应该传递新的viewModel并相应地绑定。

视图模型

public class CampaignsViewModel
{
    public int SelectedCampaignId { get; set; }
    public IEnumerable<SelectListItem> Campaigns{ get; set; }
}

查看

@model CampaignsViewModel
@Html.DropDownListFor(m => m.SelectedCampaignId , Model.Campaigns)