2010-11-21 70 views
0

我有以下问题, 我正在为网上商店订购产品的功能。 一切正常,用户可以将产品添加到购物车。这就是用户如何完成订单:asp.net mvc执行摘要视图中的OrderProduct操作

用户进入购物车(cartview), 用户必须提供送货细节(shippingDetailsView),显示 摘要页面(summaryView), 发送以服务器, 显示谢谢页,

然而,当用户点击summaryView“继续”按钮,然后执行CompleteOrder的行动,得到了如下参数(这是强烈OrderViewModel类类型):

public ViewResult CompleteOrder(ShoppingCart shoppingCart, OrderViewModel orderViewModel, string returnUrl) 

OrderViewM odel类看起来如下

public class OrderViewModel 
    { 
     public Order Order { get; set; } 
     public string ReturnUrl { get; set; } 
    } 

问题是我的orderViewModel对象中的Order对象为null。我在我的summaryView中创建了一些隐藏域,所以命令将通过appropraite:

<%: Html.HiddenFor(x => x.Order.Client.Firstname)%> 

但是,我不认为这是一个好的解决方案。我该如何做到这一点?

回答

0

由于CompleteOrder已经有RETURNURL参数,为什么不简化的模型,只是通过订单本身:

public ViewResult CompleteOrder(ShoppingCart shoppingCart, Order order, string returnUrl 
相关问题