2
モデルで:コントローラーでmvc 3でラベル値を取得する方法は?
public class DataViewModel
{
public IList<RowsCollection> Rows { get; set; }
public PaiementMethod PaiementMethod { get; set; }
}
public class RowsCollection
{
public string ID { get; set; }
public string Question { get; set; }
}
public enum PaiementMethod
{
Cash,
CreditCard,
}
- インデックスのActionResult私は私のモデルを返し、そのビューにページをレンダリングしているようなもの:提出フォームアクションイベントで
@model WebNexpo.Controllers.DataViewModel
@using (Html.BeginForm("Save", "page", FormMethod.Post, new { id = "saves"}))
{
foreach (var item in Model.Rows)
{
@Html.Label(item.Question)
<label for="paiement_cash">
Cash</label>
@Html.RadioButtonFor(m => m.PaiementMethod, "Cash", new { name = "paiement_cash" + @item.ID + "", id = "radioID" + @item.ID + "", Group = "Group" + @item.ID + "" })
<label for="paiement_cc">
Credit card</label>
@Html.RadioButtonFor(m => m.PaiementMethod, "CreditCard", new { name = "paiement_cc" + @item.ID + "", id = "radioname" + @item.ID + "", Group = "Group" + @item.ID + "" })
}
<input id="Saveser" type="submit" value="" class="button1" />
}
:
[HttpPost]
public ActionResult Save(DataViewModel model)
{
if (ModelState.IsValid)
{
//want to read all the label which selected rediobutton.
means suppose 4 question render on page and user have selected only 2
question of the answer.so How can accomplish here?
}
return RedirectToAction("Index", new {value = "123"});
}
RowsCollectionにはコードが含まれていません。また、ラジオボタンのhtml name属性を削除して、組み込みのデフォルトモデルバインドにいくつかの問題を与えます。 – jacqijvv
私のプロジェクトではこれを追加しました。ちょうど私は定義していません。私は '.cshtml(razor)'にコードを書いていますが、私の疑問はActionを提出するときに 'controller'にどうやって入るのですか? – Jigs