【发布时间】:2024-05-19 12:30:02
【问题描述】:
您能解释一下 ASP.NET MVC 中的交互模型和视图模型吗?
如果我需要在页面上显示数据,而不是编辑,是创建一个ViewModel来显示还是使用Model?
我在存储库中有两种方法。一个返回模型,另一个模型获取。在视图中我需要发送模型。我是否应该将生成的模型转换为将其传递给视图的 ViewModel,并在收到提交后将其转换回模型以保留它?
例如,我有一个类模型和类 ViewModel。
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
}
public class EditItemItemViewModel
{
public string Name { get; set; }
public int Price { get; set; }
}
在编辑页面,我点击了编辑项,必须到达控制器:
[HttpGet]
public ActionResult EditItem(int id)
{
//some code
return View();
}
如果我传入了没有ID的视图ViewModel,我在哪里可以得到ID?
-
如果我以某种方式获得了 ID,我需要执行以下操作,这会保存模型吗?
[HttpPost] public ActionResult EditItem(EditItemItemViewModel ViewModel) { var Item = _dataManager.Items.GetItemById("1"); Item.Name = ViewModel.Name; Item.Price = ViewModel.Price; _dataManager.Items.AddItem(Item); return View("Sucsess"); }
您能告诉我如何使用模型和视图模型吗?
【问题讨论】:
标签: c# asp.net-mvc entity-framework