我想组一起正在使用一个for循环和剃刀语法创建单选按钮。 下面是代码:
@for (var i = 0; i < Model.Sessions.Count(); i++)
{
@Html.HiddenFor(it => it.Sessions[i].Id)
@Html.RadioButtonFor(it => it.Sessions[i].Checkbox, "0", new {@class = "Sessions", @id = id, @name="Sessions"})
@Html.LabelFor(it => it.Sessions[i].Name, Model.Sessions[i].Name)
<span class="time-span"><em>@Model.Sessions[i].StartTime</em><em>@Model.Sessions[i].EndTime</em></span>
<br />
}
里面的for循环第三行是问题的所在。 基本上名称不会改变,它总是“会话[X] .Checkbox”。 该复选框是一个自定义类的属性(布尔)。 我似乎无法获得调试剃刀东西的窍门,所以任何帮助将不胜感激,我猜这将是有人在这里极为明显。
编辑季米特洛夫的帖子帮了不少忙。 下面是我用最后的代码。 我用的是@class和@id属性可以使用Javascript功能来选择最初选择了会话(因为这是一个编辑,没有创建表格)。
@for (var i = 0; i < Model.Sessions.Count(); i++)
{
@Html.HiddenFor(it => it.Sessions[i].Id)
var SId = @Model.Sessions[i].Id;
@Html.RadioButtonFor(it => it.selectedSession, Model.Sessions[i].Id, new { id = SId, @class = "Sessions" })
@Html.LabelFor(it => it.Sessions[i].Name, Model.Sessions[i].Name)
<span class="time-span"><em>@Model.Sessions[i].StartTime</em><em>@Model.Sessions[i].EndTime</em></span>
<br />
}