社員一人一人にアンケートを取る仕組みをASP.NET MVC 5(言語はC#),SQLServer2014で開発中です。
10問の設問につき、5段階(5:非常に満足、4:満足、3:普通~)で回答してもらいます。
この回答部分を単に5,或いは1のように数値をテキストボックスに入力するのではなく、ラジオボタンで選択させたいと考えます。
年度(smallint)・社員番号(int)・設問No(smallint)・設問文(nvarchar(max))・回答(smallint)という列から成る設問回答テーブルに、
データを格納します。1社員につき10の設問ですので10レコード出来るイメージです。
Modelとしまして下記QAModelsを用意しました。
public class QAModels { [DisplayName("年度")] public short Year { get; set; } [DisplayName("社員番号")] public int EmpId { get; set; } [DisplayName("設問No")] public short QNo { get; set; } [DisplayName("設問文")] public string QDesc { get; set; } [DisplayName("回答")] public short Ans { get; set; } }
そして以下のようにViewを記述してみたのですが、肝心のラジオボタンが各行で選択出来ません。
(1行目で選択したとしても、2行目を選択すると消えてしまう)
<table class="table table-bordered"> <tr><th>No</th><th>設問</th><th>回答</th></tr> foreach (var item in Model) { <tr> <td>@item.QNo</td> <td>@item.QDesc</td> <td> <label> @Html.RadioButtonFor( m => item.Ans, 1, new { @id = "QA" + @item.QNo } ) 1 </label> <label> @Html.RadioButtonFor( m => item.Ans, 2, new { @id = "QA" + @item.QNo } ) 2 </label> <label> @Html.RadioButtonFor( m => item.Ans, 3, new { @id = "QA" + @item.QNo } ) 3 </label> <label> @Html.RadioButtonFor( m => item.Ans, 4, new { @id = "QA" + @item.QNo } ) 4 </label> <label> @Html.RadioButtonFor( m => item.Ans, 5, new { @id = "QA" + @item.QNo } ) 5 </label> </td> </tr> } </table>
各行でラジオボタンにて回答させるには、どのようにすれば良いか、
ヒント・アドバイスの程何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー