c# - 网页旨在返回基于答案的数字,但只返回空值?
问题描述
这段代码旨在根据 SQL Server 中运行的答案返回一个数字。我们已经填充了答案,但是网页只在应该返回例如 (5) 时才返回 null (0)。
任何人都可以帮忙吗?
public IActionResult OnPost(IList<Selection> selections)
{
selections = selections;
byte j = 0;
for (byte i = 0; i < selections.Count; i++)
{
if (selections[i].Answer != 80)
{
Selected[j] = selections[i].Answer;
j++;
}
}
return Page();
}
下面列出了将号码发布到页面的代码的另一部分。
<form method="POST">
@{IList<Selection> selections = Model.Selections;}
@foreach (var Que in Model.Questions)
{
<b>@Que.Text</b>
<br />
@for (byte i = 0; i < Model.Answers.Count; i++)
{
if (Que.ID == Model.Answers[i].QuestionID)
{
<div style="border: 1px solid black;">
<label asp-for="@selections[i].Answer">@Model.Answers[i].Text</label>
<input type="radio" value="@Model.Answers[i].ID" name="@Que.ID" asp-for="@selections[i].Answer" />
</div>
}
}
<br />
<br />
<br />
<br />
}
<br />
<input type="hidden" value="@selections" asp-for="@selections">
<input type="submit" asp-route-selections="@selections" />
</form>
解决方案
您正在返回一个 Page()。您应该返回要包装在 IActionResult 中的值
public IActionResult OnPost(IList<Selection> selections)
{
byte j = 0;
for (byte i = 0; i < selections.Count; i++)
{
if (selections[i].Answer != 80)
{
Selected[j] = selections[i].Answer;
j++;
}
}
return Ok(Selected);
}
推荐阅读
- c# - C# Windows 窗体/用户控件在单击控件后不使用鼠标滚轮滚动
- google-apps-script - 从 webapp 调用的函数不发送电子邮件
- c# - 将文件逐行复制到另一个文件的正确方法?
- c# - C#用数据库的列名而不是列值填充组合框
- html - 如何让 CSS 媒体查询在 Outlook/Gmail 上正常工作?
- kernel - Jupyter Notebook 中的内核是什么,它与实际内核(与操作系统相关)有何不同/相似之处?
- reactjs - 在 onClick 事件之前在页面加载时调用 Reactjs 函数
- algorithm - 一个数字的所有变体
- symfony - Symfony - 根据按下的按钮创建或编辑表单
- vba - 使用 VBA 进行电子邮件迁移的企业保管库的文件夹路径