gpt4 book ai didi

c# - 从 Razor 页面发送 List 到 Update 的行?
转载 作者:太空宇宙 更新时间:2023-11-03 11:59:58 25 4
gpt4 key购买 nike

我需要将一个列表发送回我的 Controller 并更新我存储库中的值。

但是在用值加载 View 、更新它并单击提交按钮后,我不知道如何获取具有更新值的列表并从存储库调用更新方法。

我正在使用 .Net 4.7.2。

家庭 Controller :

[HttpGet]
public ActionResult Nota(string Concurso)
{
List<InscricoesModel> model = new List<InscricoesModel>();

InscricoesRepository repository = new InscricoesRepository();

model = repository.GetAprovadosPrimeiraFase(new Guid(Concurso));

return View("Nota",model);
}

[HttpPost]
public void UdateNotas(List<InscricoesModel> model)
{
InscricoesRepository repository = new InscricoesRepository();
foreach(InscricoesModel item in model)
{
repository.Update(item);
}
}

Nota.cshtml:

@model List<ConcursoBolsaSegundaFase.Model.InscricoesModel>

<h1>Classificados 2ª Fase</h1>
<hr />
<p>Exportado em @DateTime.Now</p>

<div style="margin-top:15px">

@* TABELA RESULTADO *@
<div id="notasAprovadosSegundaFase" style="margin-top:10px">

@using (Html.BeginForm("UdateNotas", "Home", Model, FormMethod.Post))
{

<table class="table table-bordered" id="tblNotaAprovadosSegundaFase">
<thead>
<tr>
<th>Inscrição</th>
<th>Nome</th>
<th>Nota Primeira Fase</th>
<th>Fez Carta</th>
<th>Nota Segunda Fase</th>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var linha in Model)
{
<tr>
<td>@linha.Inscricao</td>
<td>@linha.Nome</td>
<td>@linha.NotaPrimeiraFase</td>
<td>
<select>
<option value="false">Não</option>
<option value="true">Sim</option>
</select>
</td>
<td><input type="text" value="@linha.NotaSegundaFase"></td>
</tr>
}
}
</tbody>
</table>

<button type="submit" class="btn btn-success">Salvar</button>

}
</div>
</div>

我的 Controller 中的 UpdateNotas 方法从未接收到值,我不知道如何将列表从 View 发送到我的 Controller 。

最佳答案

在 MVC 中,输入的名称将绑定(bind)到 Controller 中的变量。在您的情况下,您的输入没有名称。我建议你看看html helpers .

这将正确绑定(bind)您的值。

for (int i = 0;i<Model.Count;i++)
{
Html.TextBoxFor(model => Model[i].NotaSegundaFase)
}

在这种情况下,只有 NotaSegundaFase 会被发送回 Controller 。

关于c# - 从 Razor 页面发送 List<Object> 到 Update 的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57481719/

25 4 0