2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
您的代碼中有幾個(gè)錯(cuò)誤:
首先,你的代碼
<form id="myform" action="xx" controller="xxx" method="post">
將被渲染成
<form id="myform" action="xx" method="post">
請注意action屬性xx不是xxx/xx。我想您應(yīng)該使用asp-action和asp-controller來修復(fù)您的代碼,例如:
<form id="myform" asp-action="MyTestActionName" asp-controller="MyTestControlerName" method="post">
其次,有兩種具有相同idof 的形式,myform最好為 id 分配不同的名稱或id使用刪除屬性$(this).closest("form").submit():
@section Scripts {
<script type="text/javascript">
$('input[type=radio]').on('click', function () {
console.log("trigger works");
$(this).closest("form").submit();
});
</script>
}
最后,當(dāng)您input使用asp-for以下代碼編寫TagHelper 時(shí):
<input type="hidden" asp-for="@Model[item].a" />
<input type="hidden" asp-for="@Model[item].b" />
...
它會(huì)被渲染成類似的東西:
<input type="hidden" id="z1__a" name="[1].a" value="a1">
<input type="hidden" id="z1__a" name="[1].b" value="b1">
...
請注意,名稱以 為前綴[1].。這會(huì)使綁定變得困難。因?yàn)槟雽蝹€(gè)項(xiàng)目提交到服務(wù)器,就個(gè)人而言,我建議您應(yīng)該將其替換@Model[item].為@item.:
@for( var i = 0; i < Model.Count(); i++ )
{
var item = Model[i];
<div style="border: 1px solid ;">
<form id="myform" asp-action="Test" asp-controller="Home" method="post">
<input type="hidden" asp-for=" @item.a " />
<input type="hidden" asp-for=" @item.b " />
<input type="hidden" asp-for=" @item.c " />
<input type="hidden" asp-for=" @item.d " />
...
添加回答
舉報(bào)