通过ASP.Net MVC中的select元素提交表单

所以在我的文件中,我有一个提交表单并启动控制器操作的工作示例。在这种形式下,有一个正常工作的select元素,它可以按预期工作,控制器能够检索select元素中的值。


@using (Html.BeginForm("InsertEntry", "Modeliai"))

{

    <div class="row">

        <div class="col-7">

            <input type="text" class="form-control" placeholder="Pavadinimas" name="Pavadinimas">

        </div>

        <div class="col-3">

            <select class="selectpicker" data-live-search="true" name="fk_MARKEid">

                @foreach (var item in Model.Markes)

                {

                    <option data-tokens="@item.pavadinimas" data-content="@item.pavadinimas">@item.id</option>

                }

            </select>

        </div>

        <button type="submit" class="btn btn-success">Add</button>

    </div>

}

但是,当我尝试在表行中添加选择元素时,控制器以某种方式无法捕获选择元素的值。


@using (Html.BeginForm("UpdateEntry", "Modeliai"))

{

    <td>

         <input type="hidden" name="id" value="@item.id" />

         <input type="text" name="pavadinimas" class="form-control" value="@item.pavadinimas" />

    </td>

    <td>

        <select class="selectpicker" data-live-search="true" name="fk_MARKEid">

            @{

                var ignore = Model.Markes.FirstOrDefault(x => x.id == item.fk_MARKEid);

            }


            @foreach (var x in Model.Markes)

            {

                if (ignore?.id == x.id)

                {

                    <option data-tokens="@ignore?.pavadinimas" data-content="@ignore?.pavadinimas" selected="selected">@ignore?.id</option>

                }


                <option data-tokens="@x.pavadinimas" data-content="@x.pavadinimas">@x.id</option>

            }


            </select>

    </td>

    <td style="width: 100px">

        <button class="close" type="submit">

            <i class="fas fa-pencil-alt" style="font-size: smaller"></i>

        </button>

    </td>

}

是的,我尝试检查选择的元素名称和型号名称是否匹配。


任何帮助使第二种形式起作用或解释为什么会发生这种情况,将不胜感激。


Cats萌萌
浏览 233回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP