Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示db存储的问题,允许单独回答_C#_Asp.net Mvc 3_Loops - Fatal编程技术网

C# 如何显示db存储的问题,允许单独回答

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

我有一张有几百个问题的桌子,问题(id,QuestionText)。我还没有完全弄清楚答案表,但可能是这样的:一个用户-答案表,用户-答案(id,personid,questionid,答案类型,答案),和一个答案表,答案类型(id,类型)。类型为“是/否”、数字、文本

我已经设置了查询来获取我需要的问题,这取决于页面,但是我在视图中的编码方面遇到了一些问题。目前我有:

            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的答案,它同时解决了这两个问题