我跟随Select Tag Helper in ASP.NET Core MVC从方法调用中填充了多选下拉列表,但是我选择的值没有传递给控制器。
<form asp-controller="ApiController" asp-action="Usage">
<label asp-for="Api"></label>
<div>
<select id="api" class="form-control" asp-for="Api" asp-items="@Model.Api">
</select>
</div>
</form>
此下拉菜单中的选项包含所有Apis。
模型
public class Model
{
public List<SelectListItem> Api { get; set; }
}
当我看一下动作方法时,模型的Api值为Null
。
答案 0 :(得分:0)
$("#address").on("keyup keydown keypress", function () {
var shift_key = key;
setTimeout(function(){
$("#address").on("blur focusout", function () {
var shift_key = key;
});
}, 400);
});
标记保存选定的项目,它不应与asp-for
中设置的集合相同。
因此,在像这样的模型上添加一个新属性,该属性与API的SelectListItems的值类型集匹配(在本示例中为int)
asp-items
并将其用于所选项目的选择标签上
public class Model
{
public int selectedApi { get; set; }
public List<SelectListItem> Api { get; set; }
}