【发布时间】:2021-11-11 19:13:41
【问题描述】:
这段代码旨在根据 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()。它不会对其计算结果做任何事情。 (Selected甚至在哪里定义?)您在哪里/如何具体观察您描述的结果?顺便说一句,这条线完全没有意义:selections = selections; -
你调试过这个吗?当你进入
Page()时会发生什么? -
它应该只返回一个空白网页。我有它应该返回的 .cshtml 页面设置。
-
欢迎来到 Stack Overflow。你到底想在这里做什么?您在问题中说“页面旨在返回一个数字”,并且在您的一个 cmets 中说“它应该返回一个空白网页”。这是两件不同的事情。 方法
OnPost应该返回一个数字吗?如果是这样,它不是。它返回一个Page。返回的Page是否应该在某处有数字?好吧,怎么可能呢,Page从来没有被告知这个数字应该是多少。我认为你需要退后一步,想想你在这里想要完成什么。 -
明天我会发布更多,因为我不在我的电脑前。我有页面拉数字,但它总是返回 0 或 null。我应该在页面上发布代码吗?
标签: c# html css asp.net asp.net-core