razor - 如何在 ASP.Net Core 2 和 Razor 中创建多个单选按钮组?
问题描述
我想创建多个分组的单选按钮。所以,基本上我有多个问题和 3 个带答案的单选按钮。我面临的问题是如何返回多个单选按钮的选定值。
控制器
public IActionResult Test()
{
SafetyObservationCardForm form = new SafetyObservationCardForm();
using (IDbConnection dbConnection = Connection)
{
dbConnection.Open();
var questions = dbConnection.Query<QuestionsViewModel>("SELECT * FROM SOCQuestions ORDER BY soc_order_id");
var observationType = new List<ObservationType>
{
new ObservationType { Id = 1, Name = "Safe" },
new ObservationType { Id = 2, Name = "At Risk" },
new ObservationType { Id = 3, Name = "N/A" }
};
var rb = new List<Answer>();
foreach (var item in questions)
{
rb.Add(new Answer { Id = item.soc_question_id, ObservationTypes = observationType });
};
form.Answers = rb;
form.Questions = questions.ToList();
return View(form);
}
}
模型
public class SafetyObservationCardForm
{
public List<QuestionsViewModel> Questions { get; set; }
public string Comments { get; set; }
public string Location { get; set; }
public string Observer { get; set; }
public DateTime TimeStamp { get; set; }
public string Task { get; set; }
public ObserverType ObserverType { get; set; }
public IEnumerable<Answer> Answers { get; set; }
}
public class ObserverType
{
public bool Supervisor { get; set; }
public bool Peer { get; set; }
public bool Self { get; set; }
public bool Other { get; set; }
}
public class ObservationType
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Answer
{
public int Id { get; set; }
public IEnumerable<ObservationType> ObservationTypes { get; set; }
public int SelectedObservation { get; set; }
}
}
看法
在这里,我正在尝试循环。当我出于某种原因提交表单时,答案模型为空。
@model DBI.Safety.Models.SafetyObservationCardForm
<form asp-action="CreateTest">
@foreach (var answer in Model.Answers)
{
<input name="@answer.Id" asp-for="@answer.SelectedObservation" type="radio"
value="@answer.Id" /> @answer.ObservationTypes
}
</form>
解决方案
推荐阅读
- c++ - 使用 Media Foundation 对通过桌面复制获得的 D3D 表面进行编码
- angular - 找不到模块“@angular/core/src/metadata/lifecycle_hooks”-primeng/table/table.d.ts
- wordpress - Wordpress - Elementor 自定义小部件 - 条件控件
- c# - 如何在页面中查看此特定数据?
- javascript - NodeJs 在使用异步瀑布时面临问题
- php - 按键计算数组值
- c - 虽然返回 si_addr 与 sigwaitinfo 函数的偏移量导致分段错误
- docker - 访问在端口 8080 上运行 REST API 的 docker 容器的 Travis CI 连接错误
- arrays - 在 PowerShell 中处理大型数组
- javascript - 如何将拖放的图像绘制到画布上