在下拉列表中选择一个项目

时间:2015-08-04 07:57:33

标签: c# asp.net-mvc drop-down-menu

我已经尝试过在这个论坛上提出的解决方案,但是没有一个能为我工作。我可能做错了什么。 我有一个viewModel:

public class myViewModel
{
    public IEnumerable<StockStati> StockStatiList { get; set; }
    public IEnumerable<StagingOfferResponse> OfferList { get; set; }
  }

然后在我的控制器中,我将填充OfferList并从数据库表中获取不同的库存状态:

List<StagingOfferResponse> stagResList = getOfferList();
StockStatiList =  (from s in oContext.StockStati
                                        select s).ToList();

表StagingOfferResponse包含字段StockStatus,在视图中我想显示使用foreach给用户的所有公开要约,然后能够从dropDownlist更改StockStatus。但最初我希望在每个行的下拉列表中选择StagingOfferResponse中StockStaus字段的值。

查看:

 @foreach (StagingOfferResponse stRes in @Model.stagingOfferList)
  {
      <tr>
      <td>
          @Html.Label(stRes.StockCode)
          @Html.Hidden("StockCode_"+i,stRes.StockCode)
      </td>
          <td>
              @Html.TextBox("QtyOff_"+i,stRes.QtyOffered, new { @type = "number",@class="numberinput"  })
          </td>
          <td>
              @Html.TextBox("Price_"+i,stRes.Price, new { @type = "number" ,@class="numberinput" })
          </td>
          <td>
              @Html.DropDownListFor(x=>x.StockStatiList,new SelectList(@Model.StockStatiList, "SID", "StatusDescription")
              </td>

          </tr>
  }
       </table>

任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

您需要将所选项目的ID传递给(SelectList):

@Html.DropDownListFor(x=>x.StockStatiList,new SelectList(@Model.StockStatiList, "SID", "StatusDescription",stRes.StockCode);