java下拉列表设置监视器,使用下拉列表和Viewmodel在视图中过滤网格

我想从视图模型中使用下拉列表过滤网格中的数据,但我不知道该怎么做 . 我想创建这样的控制器:我的控制器:

public ActionResult Index()

{

var missions = this.db.missions_supportmission

.Include(m => m.organization_desk)

.Include(m => m.organization_programme)

.Select(x => new MissionsViewModel()

{

DeskIdSelected = x.organization_desk.name_en,

ProgrammeIdSelected = x.organization_programme.name_en,

DeskList = new SelectList(this.db.organization_desk.ToDictionary(b => b.desk_id, b => b.name_en), "Key", "Value"),

ProgrammeList = new SelectList(this.db.organization_programme.ToDictionary(b => b.prog_id, b => b.name_en), "Key", "Value")

});

在viewmodel中我有这个:

public class MissionsViewModel

{

public missions_supportmission missions_supportmission { get; set; }

[Required]

public string DeskIdSelected { get; set; }

[Required]

public string ProgrammeIdSelected { get; set; }

[Required]

public string CountryIdSelected { get; set; }

[Required]

public string NatureIdSelected { get; set; }

[Required]

public string DirectionIdSelected { get; set; }

[Required]

public string UnitIdSelected { get; set; }

[Required]

public string TypeIdSelected { get; set; }

public SelectList DeskList { get; set; }

public SelectList ProgrammeList { get; set; }

public SelectList TypeList { get; set; }

public SelectList CountryList { get; set; }

public SelectList NatureList { get; set; }

public SelectList DirectionList { get; set; }

public SelectList UnitList { get; set; }

}

我的视图(在下拉列表中,我使用了第一个视图包,但我不想再使用它了 . 我想使用强类型代码)

@model IEnumerable

Filtres

@using (Html.BeginForm("Index", "Missions", FormMethod.Get))

{

Localisation

@Html.LabelFor(model => model, "Desk", htmlAttributes: new { @class = "control-label col-md-4" })

@Html.DropDownList("SelectedDesk",

new SelectList(ViewBag.Listedesdesks, "Value", "Text", "ViewBag.SelectedDesk"),

"All", new { onchange = "form.submit();", @class = "form-control" })

}

Missions

@Html.ActionLink("Create New", "Create")

@using (Html.BeginForm("Index"))

{

@Html.ActionLink("Pays", "Index",

new { SortOrder =ViewBag.ListorderPays,

/*SelectedDesk = ViewBag.ListorderPays,

SelectedProgramme = ViewBag.ListorderDate,*/

})

@Html.ActionLink("Date", "Index",

new { SortOrder = ViewBag.ListorderDate,

/*SelectedDesk = ViewBag.ListorderPays,

SelectedProgramme = ViewBag.ListorderDate,*/

})

Personne

Missions

}

@foreach (var item in Model)

{

@Html.DisplayFor(modelItem => item.DeskIdSelected)

@Html.DisplayFor(modelItem => item.ProgrammeIdSelected)

}

当我调试我的项目时,我有以下错误

System.NotSupportedException: 'Only parameterless constructors and initializers are supported in LINQ to Entities.'

我知道错误的来源,但我不知道如何在控制器中编写我的代码,以便在我的视图中一次使用一个网格和一个下拉列表来使用viewmodel过滤数据 .

谢谢你的帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值