[英]Saving values from selectlistitem to viewmodel
我對 selectListItem 類有問題。
(我可以將數據加載到表單中的列表項,但在提交時不能只保存列表項中的數據)視圖模型。
這是一些代碼:
視圖模型的屬性
[Required]
public int PoslovnicaID { get; set; }
[Required(ErrorMessage = "Polje je obavezno.")]
public List<SelectListItem> poslovnice { get; set; }
視圖中的代碼
<div class="col-md-12 form-group">
<label asp-for="poslovnice">Odabir poslovnice</label>
<select name=""
asp-for="PoslovnicaID"
asp-items="poslovnice"
class="form-control">
<option selected disabled>Odabir poslovnice</option>
</select>
</div>
你能告訴我我是否遺漏了一些明顯的東西嗎
我感謝任何幫助
模型綁定基於 name 屬性。 您應該刪除 select 標簽中的name=""
,因為asp-for="PoslovnicaID"
會將其呈現為name="PoslovnicaID"
。
另外,表單只會提交selected option(PoslovnicaID)的值,會在ViewModel中綁定PoslovnicaID
,所以poslovnice
為null,應該為null。
一個簡單的測試:
public IActionResult Index()
{
ViewModel viewModel = new ViewModel
{
PoslovnicaID = 1,
poslovnice = new List<SelectListItem>
{
new SelectListItem{ Text = "AAA", Value = "1"},
new SelectListItem{ Text = "BBB", Value = "2"},
new SelectListItem{ Text = "CCC", Value = "3"},
}
};
return View(viewModel);
}
[HttpPost]
public IActionResult Edit(ViewModel viewModel)
{
return View();
}
看法:
@model ViewModel
@{
ViewData["Title"] = "Index";
}
<h1>Index</h1>
<form asp-action="Edit" method="post">
<div class="col-md-12 form-group">
<label asp-for="poslovnice">Odabir poslovnice</label>
<select name="poslovnice"
asp-for="PoslovnicaID"
asp-items="Model.poslovnice"
class="form-control">
<option selected disabled>Odabir poslovnice</option>
</select>
</div>
<input type="submit" value="submit" class="btn btn-danger" />
</form>
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.