1

プロジェクトで MVC3-Viewmodel を使用しています。

フォームの作成と編集があります。私がやろうとしているのは、ユーザーがフォームを作成した後、ユーザーが編集ページにいるときにそれを編集できるようにすることです。値を入力と選択に表示されます。機能していない唯一のフィールドは、私の DropDownList です。理由がわかりません。

アプリケーションを閉じて編集フォームに移動すると、DropDownList に作成された値が必要です。

コードは次のとおりです。

foreach (SelectedQuestionViewModel items in Model.AllSelectedQuestions)
{  

 <select id="selectstyle2" class="Grade">
 @{
  <option>n/a</option>
  int Grade = 1;
    for (int i = 1; i <= 10; i++)
    {
     <option @(items.Grade.HasValue && items.Grade.Value == Grade ? "selected" : "") >@(i)</option>
    }
  }
 </select>
}

ヘルプの種類は大歓迎です。

注:コントローラーへのajax投稿を使用します。コントローラー内で、このDDLから選択された値を「Model.Grade」に入力します。

4

1 に答える 1

0

foreach ループに select タグがあります。次のように、このタグを外側に記述します。

<select>
@foreach(var x in Model)
   //write out options
</select>

Html.DropDownList 拡張メソッドもご覧ください。これは、あなたが手でやろうとしていることを行います。

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlist.aspx

例として

@{
    var selectListItems = (new[] { 1,2,3}).Select(i=>new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
@Html.DropDownListFor(m=>m.AllSelectedQuestions[0].Grade, selectListItems, "n/a")
于 2012-04-26T13:25:45.530 に答える