如何获取具有多个相同输入名称的值作为参数?
How to get value as parameter with multiple same input names?
所以我有一个列表,我在其中循环并创建 table 行。
@if (Model.TbAuctions != null && Model.TbAuctions.Count > 0)
{
foreach (var item in Model.TbAuctions)
{
<tr>
<td>
<img src="~/images/ebayonly.gif" />
</td>
<td>
@{
<form asp-page="GetSellerListModel" method="post" data-ajax="true" data-ajax-method="post" data-ajax-begin="begin" data-ajax-complete="complete" data-ajax-failure="failed">
<input type="hidden" value="@item.AuctionId" name="auctionId" />
<input id="submitBtn" style="display:none;" type="submit">
<a href="javascript:;" class="myClass" onclick="$('#submitBtn').click();">@Html.DisplayFor(modelItem => item.AuctionId)</a>
</form>
}
</td>
</tr>
}
}
隐藏代码:
public async Task<IActionResult> OnPostAsync(string auctionId)
{
try
{
if (ModelState.IsValid)
{
var itemId = auctionId;
}
}
catch (Exception ex)
{
throw ex;
}
return Page();
}
我有一个输入隐藏字段,我在其中保存了 AuctionId 的值,所以当我单击 a href 时,它通过 javascript 单击另一个输入,我将 AuctionId 值作为参数发送到Post 方法。到目前为止一切正常,但是因为输入的名称始终相同,所以无论您单击何处,它始终采用第一个输入值。我可以在这里做什么,以便获得我单击的输入的确切值?
您有多个 ID 为 submitBtn
的输入,您需要使 ID 唯一,以便您可以单击您 want.You 可以这样做的按钮:
@{ var i = 0;}
@foreach (var item in Model.TbAuctions)
{
<tr>
<td>
<img src="~/images/ebayonly.gif" />
</td>
<td>
@{
<form asp-page="GetSellerListModel" method="post" data-ajax="true" data-ajax-method="post" data-ajax-begin="begin" data-ajax-complete="complete" data-ajax-failure="failed">
<input type="hidden" value="@item.AuctionId" name="auctionId" />
<input id="submitBtn@(i)" style="display:none;" type="submit">
<a href="javascript:;" class="myClass" onclick="$('#submitBtn@(i)').click();">@Html.DisplayFor(modelItem => item.AuctionId)</a>
</form>
i++;
}
</td>
</tr>
}
所以我有一个列表,我在其中循环并创建 table 行。
@if (Model.TbAuctions != null && Model.TbAuctions.Count > 0)
{
foreach (var item in Model.TbAuctions)
{
<tr>
<td>
<img src="~/images/ebayonly.gif" />
</td>
<td>
@{
<form asp-page="GetSellerListModel" method="post" data-ajax="true" data-ajax-method="post" data-ajax-begin="begin" data-ajax-complete="complete" data-ajax-failure="failed">
<input type="hidden" value="@item.AuctionId" name="auctionId" />
<input id="submitBtn" style="display:none;" type="submit">
<a href="javascript:;" class="myClass" onclick="$('#submitBtn').click();">@Html.DisplayFor(modelItem => item.AuctionId)</a>
</form>
}
</td>
</tr>
}
}
隐藏代码:
public async Task<IActionResult> OnPostAsync(string auctionId)
{
try
{
if (ModelState.IsValid)
{
var itemId = auctionId;
}
}
catch (Exception ex)
{
throw ex;
}
return Page();
}
我有一个输入隐藏字段,我在其中保存了 AuctionId 的值,所以当我单击 a href 时,它通过 javascript 单击另一个输入,我将 AuctionId 值作为参数发送到Post 方法。到目前为止一切正常,但是因为输入的名称始终相同,所以无论您单击何处,它始终采用第一个输入值。我可以在这里做什么,以便获得我单击的输入的确切值?
您有多个 ID 为 submitBtn
的输入,您需要使 ID 唯一,以便您可以单击您 want.You 可以这样做的按钮:
@{ var i = 0;}
@foreach (var item in Model.TbAuctions)
{
<tr>
<td>
<img src="~/images/ebayonly.gif" />
</td>
<td>
@{
<form asp-page="GetSellerListModel" method="post" data-ajax="true" data-ajax-method="post" data-ajax-begin="begin" data-ajax-complete="complete" data-ajax-failure="failed">
<input type="hidden" value="@item.AuctionId" name="auctionId" />
<input id="submitBtn@(i)" style="display:none;" type="submit">
<a href="javascript:;" class="myClass" onclick="$('#submitBtn@(i)').click();">@Html.DisplayFor(modelItem => item.AuctionId)</a>
</form>
i++;
}
</td>
</tr>
}