第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

單擊 .NET Core 中的單選按鈕時(shí)未提交表單

單擊 .NET Core 中的單選按鈕時(shí)未提交表單

阿晨1998 2021-09-30 17:59:56
我正在嘗試在切換(單選按鈕)上提交表單。我使用 JQuery 提交表單如下:形式:        @for (var item = 0; item < Model.Count(); item++)        {        <form id="myform" action="xx" controller="xxx" method="post">            <input type="hidden" asp-for="@Model[item].a" />            <input type="hidden" asp-for="@Model[item].b" />            <input type="hidden" asp-for="@Model[item].c" />            <input type="hidden" asp-for="@Model[item].d"  />            <tr>                <td>                    @Html.DisplayFor(model => model[item].a)                </td>                <td>                    @Html.DisplayFor(model => model[item].b)                </td>                <td>                    @Html.DisplayFor(model => model[item].c)                </td>                <td>                    @if(Model[item].istrue)                    {                        <input asp-for="@Model[item].istrue" type="radio" value="@Model[item].istrue" class="form-check form-control"/> @Model[item].istrue                        <input asp-for="@Model[item].istrue" type="radio" value="False" class="form-check form-control" />                    }                    else                      {                        <input asp-for="@Model[item].istrue" type="radio" value="@Model[item].istrue" class="form-check form-control" /> @Model[item].istrue                        <input asp-for="@Model[item].istrue" type="radio" value="True" class="form-check form-control" />                    }                </td>            </tr>        </form>Javascript:@section Scripts {        <script type="text/javascript">    $('input[type=radio]').on('click', function () {        console.log("trigger works");        $(this).closest("form").submit();    });</script>}控制器:[HttpPost]public IActionResult someaction(somemodel s){----}我在應(yīng)該觸發(fā)的控制器動(dòng)作上放置了斷點(diǎn)??丶蝗?dòng)作但是,切換時(shí)console.log會(huì)打印消息我不太明白我做錯(cuò)了什么?。?!項(xiàng)目鏈接https://github.com/dev-agk/WebFormList.NET 小提琴dotnetfiddle.net/8IzLE8
查看完整描述

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 " />

        ... 


查看完整回答
反對 回復(fù) 2021-09-30
  • 2 回答
  • 0 關(guān)注
  • 236 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號