【发布时间】:2019-02-06 16:02:24
【问题描述】:
我目前在 .net-core 剃须刀页面上有一个模型的编辑视图。下面的代码用于选择我在 select2 下拉列表中为 PartId 传入的值。我的问题是,当我尝试在不触及部分元素的情况下再次在表单上发布时,验证抱怨它没有设置。当传递给不正确的控制器上的操作时,我看到它设置为 0。
表单部分的 HTML
<div class="form-group">
<label class="form-label">Part</label>
<select name="PartId" id="selectpicker1" class="form-control" data-style="btn-default">
<option></option>
</select>
<span asp-validation-for="PartId" class="text-danger"></span>
</div>
JS
$('#selectpicker1').select2({
placeholder: 'Select a part',
data: JSON.parse('@Html.Raw(Json.Serialize(Model.PartsList))'),
initSelection: function (element, callback) {
var data= { id: @Model.PartId.ToString(), text: '@Model.PartsList.Where(x=> x.Id == Model.PartId.ToString() ).First().Text'};
callback(data);
}
});
如果我重新选择相同的项目,它会正确绑定并发送到控制器上的操作。我没有提供操作或表单的其余部分,因为此功能正常工作。
【问题讨论】:
标签: asp.net-mvc razor .net-core jquery-select2