Asp.net mvc 绑定viewmodels并将数据插入控制器
我在尝试学习mvc时遇到了一个障碍。我选择mvvm方法,因为我认为这适合我 如果你想到一个允许客户订购产品的网站 我的数据库包含3个表 dbo.Product ProductID ProductName db.Order OrderID OrderDate ProductOrderID db.OrderProducts OrderID ProductID QuantityOrdered dbo.产品 产品ID 产品名称 db.订单 订单编号 訂單日期 ProductOrderID db.OrderProducts 订单编号 产品ID 数量有序 我使用实体框架。我会创建两个视图模型吗 OrderViewModel看起来像Asp.net mvc 绑定viewmodels并将数据插入控制器,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我在尝试学习mvc时遇到了一个障碍。我选择mvvm方法,因为我认为这适合我 如果你想到一个允许客户订购产品的网站 我的数据库包含3个表 dbo.Product ProductID ProductName db.Order OrderID OrderDate ProductOrderID db.OrderProducts OrderID ProductID QuantityOrdered dbo.产品 产品ID 产品名称 db.订单 订单编号 訂單日期 ProductOrderID db.Or
public class OrderViewModel
{
public Order Order { get; set; }
public List<ProductOrderViewModel> AddedProducts { get; set; }
}
公共类OrderViewModel
{
公共秩序{get;set;}
公共列表AddedProducts{get;set;}
}
而不是第二个像这样的
public class ProductOrderViewModel
{
public int OrderID { get; set;
public List<Product> Products { get; set; }
public int QuantityOrdered { get; set; }
}
公共类ProductOrderViewModel
{
公共int-OrderID{get;set;
公共列表产品{get;set;}
公共整数数量有序{get;set;}
}
我想使用jquery尽可能多地执行客户端加载,同时尽可能多地删除对服务器的调用,所以我想
这是正常的做事方式还是我完全偏离了正轨?1听起来更直截了当,javascript代码更少 我喜欢jquery和javascript,但尽量少写。与VS的javascript编辑器和Firebug等相比,C#和VisualStudio是非常强大的开发工具 此外,automapper最好用于从域/模型/业务对象(无论我们现在叫它们什么;)开始,而不是从另一个方向
将它们存储在隐藏的表单字段中。我将采用与jfar相反的方法,因为我不介意使用Javascript。请检查。它是一个MVVM(silverlight/wpf样式绑定)浏览器中的实现。应该为您提供一个良好的起点。我倾向于将此方法用于涉及列表操作或计算字段的任何客户端编辑。当用户需要能够同时编辑多个项目时,此方法也很有效 如果您不采用这种方法,我有一个建议添加到您的解决方案中。不要在隐藏字段中使用逗号分隔的值,而是使用JQuery或全局变量*将值作为JSON传递。维护人员最不希望看到的是不明确的数组或
.split(','))
s在代码中。我现在处理的代码看起来就是这样,但并不漂亮
*可以将名称空间挂起到JQuery对象之外:
$.my_stuff = $.my_stuff || {};
$.my_stuff.foo = { id : 1, quantity: 42 };
编辑:这里是。我认为JSON模型绑定在MVC3中是开箱即用的,但我不是100%确定,因为我仍然在使用2.0。hi jfar,很抱歉我编辑了我的文章。为了让它更有意义。我只是不确定我应该如何或在哪里存储ProductID和QuantityOrdered。那么我该如何建立产品和数量列表在jquery中命令传回控制器?