C# 如何显示db存储的问题,允许单独回答
我有一张有几百个问题的桌子,问题(id,QuestionText)。我还没有完全弄清楚答案表,但可能是这样的:一个用户-答案表,用户-答案(id,personid,questionid,答案类型,答案),和一个答案表,答案类型(id,类型)。类型为“是/否”、数字、文本 我已经设置了查询来获取我需要的问题,这取决于页面,但是我在视图中的编码方面遇到了一些问题。目前我有:C# 如何显示db存储的问题,允许单独回答,c#,asp.net-mvc-3,loops,C#,Asp.net Mvc 3,Loops,我有一张有几百个问题的桌子,问题(id,QuestionText)。我还没有完全弄清楚答案表,但可能是这样的:一个用户-答案表,用户-答案(id,personid,questionid,答案类型,答案),和一个答案表,答案类型(id,类型)。类型为“是/否”、数字、文本 我已经设置了查询来获取我需要的问题,这取决于页面,但是我在视图中的编码方面遇到了一些问题。目前我有: foreach (var item in Model) { <d
foreach (var item in Model) {
<div class="question-label">
@Html.DisplayFor(modelItem => item.QuestionText)
</div>
<div class="question-field">
@Html.RadioButtonFor(modelitem => item.Answer, "Yes") Yes
@Html.RadioButtonFor(modelitem => item.Answer, "No") No
</div>
}
foreach(模型中的变量项){
@DisplayFor(modelItem=>item.QuestionText)
@RadioButton(modelitem=>item.Answer,“是”)是
@RadioButton(modelitem=>item.Answer,“否”)否
}
问题显示得很好,但在本例中,单选按钮认为它们都在一组中。这个页面上有12个问题,虽然每个问题都有一对单独的是/否按钮,但我只能为整个页面选择一个是或否。我是否需要设置一个数组,以便使用for循环进行循环?使用带有索引的for循环
RadioButtonOn
正在为所有项目输出相同的名称/id
所以你的剃须刀看起来像:
@Html.RadioButtonFor(modelitem => Model[i].Answer, "Yes") Yes
为每组单选按钮指定相同的名称。这应该可以解决问题 只是要小心你给他们起的名字,因为他们必须和你的模型相匹配(但那是另一回事!) 请看Doogie的答案,它同时解决了这两个问题