获取 Razor Pages Asp.net 中按钮的 "name" / "value" 的内在价值 Asp.net 6
Getting Inner Value of "name" / "value" of button in Razor Pages Asp.net 6
正在做某事并卡在了这里:
我的 Razor 页面如下所示:
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br /></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina1">@item.Godzina1</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina3">@item.Godzina3</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina4">@item.Godzina4</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina5">@item.Godzina5</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina6">@item.Godzina6</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina7">@item.Godzina7</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina8">@item.Godzina8</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina9">@item.Godzina9</button></center></td></form>
</tr>
}
</tbody>
这是单个元素:
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button></center></td></form>
现在的情况是:
在我的 OnPostAsync 方法的模型 class 中,我需要在单击按钮后获取“值”和“名称”的内部值。
public async Task<IActionResult> OnPostAsync()
{
}
从 5P.M 开始一直坚持到这里,现在是 7P.M,但一无所获。希望你们能帮我找到这个。会很棒的。
我想你可能误解了表单提交。它只能post input
/select
/textarea
元素的值。而且它不能 post name
属性的值到后端。 name
属性用于模型绑定,绑定属性与name
属性值同名的
一种方法是为每个表单添加隐藏的两个输入:
@page
@model IndexModel
<table>
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<button asp-page-handler="edit" class="btn btn-success" value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br />
</center>
</td>
</form>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina" value="@item.Godzina" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button>
</center>
</td>
</form>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina1" value="@item.Godzina1" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina1">@item.Godzina1</button>
</center></td></form>
<form method="post"> <td> <center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina2" value="@item.Godzina2" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina3" value="@item.Godzina3" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina3">@item.Godzina3</button></center></td></form>
</tr>
//more forms..........
}
</tbody>
</table>
后端:
public IActionResult OnPostEdit(Terminy model)
{
//do your stuff.........
}
型号:
public class Terminy
{
public string Dzień_Tygodnia { get; set; }
public string Godzina { get; set; }
public string Godzina1 { get; set; }
public string Godzina2 { get; set; }
public string Godzina3 { get; set; }
//other properties...........
}
另一种方法是你可以使用asp-route-{value} tag helper:
@page
@model IndexModel
<table>
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="" asp-route-value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br /></center></td></form>
<form method="post"><td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina">@item.Godzina</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina1">@item.Godzina1</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina3">@item.Godzina3</button></center></td></form>
@*//other forms........... *@
</tr>
}
</tbody>
</table>
后端:
public async Task<IActionResult> OnPostAsync(string name,string value)
{
//do your stuff.........
}
正在做某事并卡在了这里:
我的 Razor 页面如下所示:
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br /></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina1">@item.Godzina1</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina3">@item.Godzina3</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina4">@item.Godzina4</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina5">@item.Godzina5</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina6">@item.Godzina6</button></center></td></form>
<form method="post"> <td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina7">@item.Godzina7</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina8">@item.Godzina8</button></center></td></form>
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina9">@item.Godzina9</button></center></td></form>
</tr>
}
</tbody>
这是单个元素:
<form method="post"><td> <center><button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button></center></td></form>
现在的情况是: 在我的 OnPostAsync 方法的模型 class 中,我需要在单击按钮后获取“值”和“名称”的内部值。
public async Task<IActionResult> OnPostAsync()
{
}
从 5P.M 开始一直坚持到这里,现在是 7P.M,但一无所获。希望你们能帮我找到这个。会很棒的。
我想你可能误解了表单提交。它只能post input
/select
/textarea
元素的值。而且它不能 post name
属性的值到后端。 name
属性用于模型绑定,绑定属性与name
属性值同名的
一种方法是为每个表单添加隐藏的两个输入:
@page
@model IndexModel
<table>
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<button asp-page-handler="edit" class="btn btn-success" value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br />
</center>
</td>
</form>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina" value="@item.Godzina" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina">@item.Godzina</button>
</center>
</td>
</form>
<form method="post">
<td>
<center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina1" value="@item.Godzina1" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina1">@item.Godzina1</button>
</center></td></form>
<form method="post"> <td> <center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina2" value="@item.Godzina2" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center>
<input name="Dzień_Tygodnia" value="@item.Dzień_Tygodnia" hidden/>
<input name="Godzina3" value="@item.Godzina3" hidden/>
<button asp-page-handler="edit" class="btn btn-success" name="@item.Dzień_Tygodnia" value="@item.Godzina3">@item.Godzina3</button></center></td></form>
</tr>
//more forms..........
}
</tbody>
</table>
后端:
public IActionResult OnPostEdit(Terminy model)
{
//do your stuff.........
}
型号:
public class Terminy
{
public string Dzień_Tygodnia { get; set; }
public string Godzina { get; set; }
public string Godzina1 { get; set; }
public string Godzina2 { get; set; }
public string Godzina3 { get; set; }
//other properties...........
}
另一种方法是你可以使用asp-route-{value} tag helper:
@page
@model IndexModel
<table>
<tbody>
@foreach(var item in Model.Terminy)
{
<tr>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="" asp-route-value="@item.Dzień_Tygodnia">@item.Dzień_Tygodnia</button><br /></center></td></form>
<form method="post"><td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina">@item.Godzina</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina1">@item.Godzina1</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina2">@item.Godzina2</button></center></td></form>
<form method="post"> <td> <center><button class="btn btn-success" asp-route-name="@item.Dzień_Tygodnia" asp-route-value="@item.Godzina3">@item.Godzina3</button></center></td></form>
@*//other forms........... *@
</tr>
}
</tbody>
</table>
后端:
public async Task<IActionResult> OnPostAsync(string name,string value)
{
//do your stuff.........
}