Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc asp.net mvc从摘要视图执行OrderProduct操作_Asp.net Mvc_Binding - Fatal编程技术网

Asp.net mvc asp.net mvc从摘要视图执行OrderProduct操作

Asp.net mvc asp.net mvc从摘要视图执行OrderProduct操作,asp.net-mvc,binding,Asp.net Mvc,Binding,我有以下问题,, 我正在为网上商店创建订购产品的功能。 一切正常,用户可以添加产品到购物车。这是用户完成订单的方式: 用户进入购物车(cartview), 用户必须提供装运详细信息(shippingDetailsView), 显示摘要页面(摘要视图), 正在向服务器发送订单, 显示感谢页面 但是,当用户单击summaryView(由OrderViewModel类强类型)中的“继续”按钮时,将执行CompleteOrder操作,该操作将获取以下参数: public ViewResult Compl

我有以下问题,, 我正在为网上商店创建订购产品的功能。 一切正常,用户可以添加产品到购物车。这是用户完成订单的方式:

用户进入购物车(cartview), 用户必须提供装运详细信息(shippingDetailsView), 显示摘要页面(摘要视图), 正在向服务器发送订单, 显示感谢页面

但是,当用户单击summaryView(由OrderViewModel类强类型)中的“继续”按钮时,将执行CompleteOrder操作,该操作将获取以下参数:

public ViewResult CompleteOrder(ShoppingCart shoppingCart, OrderViewModel orderViewModel, string returnUrl)
OrderViewModel类如下所示

public class OrderViewModel
    {
        public Order Order { get; set; }
        public string ReturnUrl { get; set; }
    }
问题是我的orderViewModel对象中的Order对象为空。我在summaryView中创建了一些hiddenfields,以便通过适当的方式传递订单:

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

然而,我认为这不是一个好的解决方案。我如何做才合适?

既然CompleteOrder已经有了ReturnUrl参数,为什么不简化您的模型并传递订单本身呢:

public ViewResult CompleteOrder(ShoppingCart shoppingCart, Order order, string returnUrl