【问题标题】:Create drop down list from List ASP.NET MVC从 List ASP.NET MVC 创建下拉列表
【发布时间】:2016-07-22 18:45:41
【问题描述】:

我有强类型视图模型,并且在一个类对象中我传递了我需要在@html.Dropdownlist 中显示的选项列表

查看模型

 public class CreateCampaign_VM
{
    public MarketingCampaign MarketingCampaign { get; set; }

    public List<MarketingCampaignType> MarketingCampaignType { get; set; }
}

控制器方法

 private CreateCampaign_VM GetCampaignObject()
    {
        CreateCampaign_VM _CampaignObject = new CreateCampaign_VM();


        _CampaignObject.MarketingCampaignType.Add(new MarketingCampaignType {
            CampaignTypeID = 1,
            CampaignTypeTitle = "Email",
            Description = "Email"
        });

        _CampaignObject.MarketingCampaignType.Add(new MarketingCampaignType
        {
            CampaignTypeID = 2,
            CampaignTypeTitle = "Text",
            Description = "Text"
        });

        _CampaignObject.MarketingCampaignType.Add(new MarketingCampaignType
        {
            CampaignTypeID = 3,
            CampaignTypeTitle = "Post",
            Description = "Post"
        });

        return _CampaignObject;
    }

...

 public ActionResult CreateCampaign_Title()
    {
        return PartialView("CreateCampaign_Title_Partial", GetCampaignObject());
    }

剃刀视图

@model App.Business.Entities.CreateCampaign_VM
  @using (Html.BeginForm("CreateCampaign_Title", "Campaign", FormMethod.Post, new { id = "CreateCampaignTitleForm" }))
        {
         .....
          @Html.DropDownListFor(// 'MarketingCampaignType object' need help here 
         //...
       }

【问题讨论】:

  • 您要绑定MarketingCampaign 的哪个属性?由于您使用的是视图模型,因此您不应该包含作为数据模型的属性,并且集合属性应该是 IEnumerable&lt;SelectListItem&gt;,而不是 List&lt;MarketingCampaignType&gt;
  • _CampaignObject 即实例 CreateCampaign_VM.MarketingCampaignType
  • 嗨@toxic,您还需要一个属性来为您的 dropDownList 存储 selectedValue
  • 那不是我的问题:)。你需要绑定一个属性——你想绑定哪个属性
  • 是我想在下拉列表中显示的 CampaignTypeTitle 并且 ID 为 CampaignTypeID

标签: c# asp.net-mvc razorengine dropdownlistfor


【解决方案1】:

试试这个:

@Html.DropDownListFor(m => m.MarketingCampaign , new SelectList(Model.MarketingCampaignType, "CampaignTypeTitle", "CampaignTypeId"), new { id = "yourElementIdIfAny", @class = "yourClassNameIfAny" })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2010-09-28
    相关资源
    最近更新 更多