如何在自定义的ASP.NET Core Razor Pages可编辑网格中发布行ID?
我已经尝试了几种方法,并且由于我是ASP.NET核心的新手,因此我被阻止了。有人可以帮我吗?这一定是微不足道的,但我在谷歌搜索了很多东西,但找不到合适的方法。我不想使用jQuery或任何其他JavaScript库。
这是相关代码:
<form method="post">
<table>
<thead>
<tr>
<th>
Text 1
</th>
<th>
Text 2
</th>
<th>
Text 3
</th>
</tr>
</thead>
<tbody>
@foreach(var item in Model.GridRows)
{
<tr>
<td>
<input type="hidden" asp-for="@item.Id" />
</td>
<td>
@Html.EditorFor(modelItem => item.Text1)
</td>
<td>
@Html.EditorFor(modelItem => item.Text2)
</td>
<td>
@Html.EditorFor(modelItem => item.Text3)
</td>
<td>
<input type="submit" value="Save" class="btn btn-primary"/>
</td>
</tr>
}
</tbody>
</table>
</form>
public async Task<IActionResult> OnPostAsync(int id)
{
if (!ModelState.IsValid)
{
return Page();
}
var gridRowUpdate = await _context.GridRows.FindAsync(id);
if (gridRowUpdate == null)
{
return NotFound();
}
if(await TryUpdateModelAsync<GridRow>(gridRowUpdate, "GridRow", g => g.Text1, g => g.Text2, g => g.Text3))
{
await _context.SaveChangesAsync();
}
return RedirectToPage("./Index");
}
I have tried several approaches, and as I'm new to Razor Pages in ASP.NET Core I'm blocked. Could anybody help me please? It must be something trivial but I googled quite a lot and I can't find a suitable way. I don't want to use jquery or any other javascript library.
Here is the relevant code:
<form method="post">
<table>
<thead>
<tr>
<th>
Text 1
</th>
<th>
Text 2
</th>
<th>
Text 3
</th>
</tr>
</thead>
<tbody>
@foreach(var item in Model.GridRows)
{
<tr>
<td>
<input type="hidden" asp-for="@item.Id" />
</td>
<td>
@Html.EditorFor(modelItem => item.Text1)
</td>
<td>
@Html.EditorFor(modelItem => item.Text2)
</td>
<td>
@Html.EditorFor(modelItem => item.Text3)
</td>
<td>
<input type="submit" value="Save" class="btn btn-primary"/>
</td>
</tr>
}
</tbody>
</table>
</form>
public async Task<IActionResult> OnPostAsync(int id)
{
if (!ModelState.IsValid)
{
return Page();
}
var gridRowUpdate = await _context.GridRows.FindAsync(id);
if (gridRowUpdate == null)
{
return NotFound();
}
if(await TryUpdateModelAsync<GridRow>(gridRowUpdate, "GridRow", g => g.Text1, g => g.Text2, g => g.Text3))
{
await _context.SaveChangesAsync();
}
return RedirectToPage("./Index");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要单击每个
保存
按钮以发送该行的ID,则可以在不用任何jQuery或任何其他JavaScript库的情况下关注以下简单演示。IF you want to click each
save
button to send the Id of that row, You can just follow below simple demo without any jquery or any other javascript library.