如何解决如何从视图到控制器显示嵌套的 ViewModel
我有以下视图模型
public class Productsviewmodel
{
public IEnumerable<Productviewmodel> Products;
public Productviewmodel Product;
}
哪个实现
public class Productviewmodel
{
public string Name { get; set; }
public string Description { get; set; }
public decimal Value { get; set; }
}
我正在使用以下表格
<input asp-for="@Model.Product.Name" />
<label>Description</label>
<input asp-for="@Model.Product.Description" />
<label>Value</label>
<input asp-for="@Model.Product.Value" />
我执行此操作
public async Task<IActionResult> Post(Product model)
{
await productService.Create(model.Product.Name,model.Product.Description,model.Product.Value);
return RedirectToAction(nameof(Index));
}
但我收到的数据为空,因为 Action 需要 Product.Name、Product.Description、Product.Value。 知道如何从我的视图接收数据吗?
已修复。这有效
public IEnumerable<Productviewmodel> Products;
public string Name { get; set; }
public string Description { get; set; }
public decimal Value { get; set; }
但我不喜欢这种混乱。如果有人有更好的解决方案?
解决方法
其实你的绑定方式没有错,只是你忘记在你的get and set
后面加上ViewModel
。
public class ProductsViewModel
{
public IEnumerable<ProductViewModel> Products { get; set; }
public ProductViewModel Product { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。