0

この質問に関連して:

StackOverflow-c#mvcでのラジオボタンのグループ化

選択したオプションをフォームからデータベースにロードして保存することができましたが、ユーザーがこれを編集する必要がある場合があります。

選択したユーザーの選択でビューをロードするにはどうすればよいですか?選択した回答をどこに設定できるかわかりません。ロード時にデフォルト値が選択されています

4

2 に答える 2

1

アクションSelectedAnswerでそれぞれのプロパティ値を設定でき、残りはあなたが処理Courseします。GETEditorTemplate

public ActionResult Index()
{
    var vm= new OrderViewModel();

    //the below is hard coded for DEMO. you may get the data from some  
    //other place and set the course and options

    var q1 = new Course { ID = 1, Name= "Starters" };
    q1.Options.Add(new Option{ ID = 12, Title = "Prawn Cocktail " });
    q1.Options.Add(new Option{ ID = 13, Title = "Soup" });
    q1.SelectedAnswer = 13; //to do : get the selected answer value from DB

    vm.Courses.Add(q1);     

    var q2 = new Course { ID = 1, Name= "Mains" };
    q2.Options.Add(new Option{ ID = 42, Title = "Beef" });
    q2.Options.Add(new Option{ ID = 43, Title = "Lamp" });
    q2.SelectedAnswer = 16;// to do :get the selected answer value from DB

    vm.Courses.Add(q2);

   return View(vm);           
}

エディターテンプレートに変更はありません。それは前の答えと同じままです。

@model Course
<div>
    @Html.HiddenFor(x=>x.ID)
    <h3> @Model.Name</h3>
    @foreach (var a in Model.Options)
    {
       <p>
          @Html.RadioButtonFor(b=>b.SelectedAnswer,a.ID)  @a.Title
       </p>
    }
</div>
于 2012-10-26T12:40:31.877 に答える
1

これを使って:

<%= Html.RadioButtonFor(m => m.Something, "something", new { Checked = "checked" })%>
于 2012-10-26T11:18:26.977 に答える