该模型是RatingSource的IEnumerable
public class RatingSource
{
public int Id { get; set; }
public string Source { get; set; }
public bool IsActive { get; set; }
}
查看代码:
@foreach (var ratingSource in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => ratingSource.Source)
</td>
<td>
@Html.RadioButton("Active",ratingSource.Id,ratingSource.IsActive)
</td>
</tr>
}
我没有为IsActive使用EditorForModel,因为它提供了checkBoxes。 如何将编辑的数据保存到DB? 我使用EntityFramework。
答案 0 :(得分:0)
这就是我能够获取所选的RatingSource
的方法控制器代码:
public ViewResult SaveInfo()
{
return View(lstRatingSources);
}
[HttpPost]
public ViewResult SaveInfo()
{
var formValue = Request.Form["Active"];
int Id = Convert.ToInt32(formValue);
RatingSource selectedRatingResource =
lstRatingSources.FirstOrDefault(p => p.Id == Id);
return View("AcknowledgementView");
}
查看代码:
@using (Html.BeginForm())
{
<table>
@foreach (var ratingSource in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => ratingSource.Source)
</td>
<td>
@Html.RadioButton("Active", ratingSource.Id, ratingSource.IsSelected)
</td>
</tr>
}
<tr><td><input type="submit" value="Save Info" /></td><td></td></tr>
</table>
}
请不要问为什么我使用Request.Form["Active"]
,这是凌晨2点,我没有去查找细节。通过快速观察Request.Form对象来获得它。希望这会对你有所帮助。