【发布时间】:2014-05-13 07:19:16
【问题描述】:
我使用以下语法在 MVC 中填充下拉列表,下拉列表正确绑定了值。但我想在将其绑定到下拉列表之前调整“SelectList”。
@foreach (var item in Model.Requests)
<tr> {
<td>
@Html.DisplayFor(modelItem => item.AssignedTo)
</td>
<td>
@Html.DisplayFor(modelItem => item.StartedOn)
</td>
<td>
@Html.DropDownListFor(m => m.RequestStatus, new SelectList(Model.RequestStatus, "StatusID", "StatusDescription"))
</td>
</tr>
我有一个模型RequestStatus如下,
public class RequestStatusModel
{
public string RequestID { get; set; }
public string StatusID { get; set; }
public string StatusDescription { get; set; }
}
View model 'RequestModel' 下面给出,网格绑定了 Requests 集合数据。即 IList Requests,其中包含 RequestID 字段。
public class RequestModel
{
public IList<Request> Requests { get; set; }
public IList<RequestStatusModel> RequestStatus { get; set; }
}
RequestStatusModel 中的示例数据。
RequestID StatusID StatusDescription
====================================================
111 1000 Assigned
111 1001 UnAssigned
111 1002 In progress
222 1003 Started
222 1004 In progress
222 1005 Stopped
333 1006 Assigned
333 1007 Completed
Requests 集合中的示例数据
RequestID AssignedTo StartedOn
111 SAM 05/12/2012
333 KEN 02/23/2006
222 RAJ 11/30/2006
现在下拉列表绑定了所有的 StatusDescription,但我想根据 Request 集合中的 RequestID 从 RequestStatusModel 中绑定 Statusdescription
【问题讨论】:
-
一种选择是让 RequestViewModel 具有 FilteredRequestStatus 属性,它将根据您的偏好过滤数据
标签: c# asp.net-mvc html.dropdownlistfor