所以在我的文件中,我有一个提交表单并启动控制器操作的工作示例。在这种形式下,有一个正常工作的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>
}
是的,我尝试检查选择的元素名称和型号名称是否匹配。
任何帮助使第二种形式起作用或解释为什么会发生这种情况,将不胜感激。
相关分类