【发布时间】:2020-09-19 14:34:47
【问题描述】:
所以我正在创建一个调查网站,您可以在其中创建调查表并在之后填写它们,我的问题是,如果我有一个问题,我有一个带有 bool 的选项集合,如果选项被标记为填充,如何当我单击提交表单按钮时,我是否将该值设置为模型 简而言之,从问题中获取所有标记的答案,将它们作为单独的视图模型传递给控制器,其中仅包含问题的 ID 和给定的答案
这是问题的类别:
public class OptionsQuestionVM
{
public Guid Id { get; set; }
public Guid FormId { get; set; }
public bool IsAnswered { get; set; }
public bool IsDeleted { get; set; }
public string Name { get; set; }
public ICollection<OptionModelVM> Options { get; set; }
public bool IsRequired { get; set; }
public bool HasMultipleAnswers { get; set; }
}
这是 OptionModelVM 的类:
public class OptionModelVM
{
public Guid Id { get; set; }
public string Text { get; set; }
public bool IsMarked { get; set; }
public OptionsQuestionVM Question { get; set; }
public Guid OptionsQuestionId { get; set; }
}
这是我为每个问题显示的复选框的 HTML 代码以及可用的答案:
@foreach (var item in Model.OptionsQuestions)
{
if (item.HasMultipleAnswers == true)
{
<div class="element-checkbox">
<hr>
<h4>@item.Name</h4>
<div class="column column1">
@foreach (var option in item.Options)
{
<label>
<input type="checkbox" name="checkbox[]" value="option 1" />
<span style="font-size:medium">@option.Text</span>
</label>
<br />
}
</div><span class="clearfix"></span>
</div>
}
else
{
<div class="element-checkbox" single>
<hr>
<h4>@item.Name</h4>
<div class="column column1">
@foreach (var option in item.Options)
{
<label>
<input type="checkbox" name="checkbox[]" value="option 1" />
<span style="font-size:medium">@option.Text</span>
</label>
<br />
}
</div><span class="clearfix"></span>
</div>
}
}
如果有人告诉我如何将 HasMultipleAnswers 布尔值设置到复选框中也会有所帮助,这样当它为真时你可以标记多个答案,当它为假时你只能选择 1 谢谢你:)
【问题讨论】:
标签: c# html asp.net-core model-view-controller checkbox