asp.net-mvc - DropDownListFor 未在修改的 Scaffold Razor 页面中返回选定值
问题描述
我对 Razor 比较陌生,我使用的是默认模板。我有一个包含三个模型的 ViewModel:
public class CarAndOwnerViewModel
{
public IEnumerable<SelectListItem> Cars { get; set; }
public SelectListItem SelectedCar { get; set; }
public OwnerModel Person{ get; set; }
}
我在我的创建方法中使用了这个 ViewModel。要获取我使用的汽车列表:
@Html.DropDownListFor(Model => Model.SeletedCar, new SelectList(Model.Cars, "Value", "Text", Model.Cars))
当我提交此下拉列表时, CarAndOwnerViewModel.SelectedCar 的值为 null。我有一个包含以下内容的文本框,它在 CarAndOwnerViewModel.Owner.Name 中:
<input asp-for="Owner.Naame" class="form-control" />
我在那个输入框中填写的内容被传递。我不知道为什么输入框工作但选择框不工作。
解决方案
问题是SelectedCar
应该是一个int
而不是一个SelectedItem
将班级更改为
public class CarAndOwnerViewModel
{
public IEnumerable<SelectListItem> Cars { get; set; }
public int SelectedCar { get; set; }
public OwnerModel Person{ get; set; }
}
修复了问题。
推荐阅读
- xamarin.forms - Xamarin Forms CarouselView.ItemsSource 不使用绑定
- vue.js - 如何在 vue-cli 中更改每个页面的 css 样式
- r - 填补季节性数据(缺失数据插补)R中的卡尔曼滤波器
- c++ - 类成员函数无法访问同一类的私有结构节点?
- java - 像这样使用继承是对的吗?
- java - MouseAdapter 中 isPopupTrigger() 的正确处理是什么
- java - 尽管实现了构造函数,但构造函数丢失错误
- python - 如何将情节表达图保存到 html 或静态图像文件中?
- azure - 无法在 Azure 上创建 AKS 群集
- python - 使用链表的 Python 循环队列