使用dropdownlistfor设置id

时间:2014-02-10 17:01:15

标签: c# asp.net-mvc razor

我正在构建我的drowdown列表:

  

var ratingInfo =      (来自Model.RatingSet.Where中的rl(x => x.QuestionID == @ item.QuestionID)      &安培;&安培; x.ShowForPerson == true)。OrderBy(x => x.OptionPosition)      选择新的{Value = rl.OptionKey,Text = rl.Option});

     

var Rating = new SelectList((System.Collections.IEnumerable)      ratingInfo,“Value”,“Text”,@ item.Rating);

<td class="center">@Html.DropDownListFor(r => r.RatingSet[iCount].OptionKey, Rating)</td>

一切都在完美呈现。但是,当我尝试提交表单以及我对评级下拉列表所做的任何更改时,我无法看到新值。

我认为它与下拉列表的ID不等于我设置的模型值有关。

如果是这种情况,如何设置DropDown列表id值(使用DropDownListFor方法)?

这是下拉列表的HTML代码的输出:

<select data-val="true" data-val-number="The field OptionKey must be a number." data-val-required="The OptionKey field is required." 
id="RatingSet_0__OptionKey" name="RatingSet[0].OptionKey">
<option value="5">---</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="4">D</option>
</select>

答案:

基于48klocs的评论,我开始注意到我的代码中出了问题。 我没有使用我的模型中的正确项目来构建我的下拉列表。一旦我这样做了:

<td class="center">@Html.DropDownListFor(r => r.ResultSet[iCount].Rating, Rating)</td>

一切都开始像它应该的那样工作。

0 个答案:

没有答案