【问题标题】:How do i set the property of one model to the property of another model using a controller如何使用控制器将一个模型的属性设置为另一个模型的属性
【发布时间】:2014-04-09 11:09:33
【问题描述】:

我在将属性值从一个模型传递到另一个模型时遇到问题,

我在这里的 OrderTotalsModel 中引用了一个属性:

public string OrderTotal { get; set; }

我需要在使用 ShoppingCartModel 的 popUpOrderSummary 视图中显示,

我在这个模型中创建了一个属性:

public string popUpOrderTotal { get; set; }

我知道我需要使用 ShoppingCartController 将此属性的值从 OrderTotalsModel 传递给 ShoppingCartModel,

到目前为止,我已经在 PrepareShoppingCartModel 方法下面添加了这段代码:

model.popUpOrderTotal =

我试过了:

model.popUpOrderTotal = OrderTotalsModel.OrderTotal;

【问题讨论】:

  • 您在哪里创建 OrderTotalsModel 的实例?看起来您正在尝试分配属性的值而不创建模型本身的实例
  • 你了解对象吗?
  • @ChrisBint OrderTotalsModel 方法在控制器的下方,我现在正试图在那里添加代码
  • @Corbo152 您需要一个“其他”模型的实例才能为其分配属性。上面的代码看起来你没有使用实例。
  • @ChrisBint 我查看了控制器找到了 OrderTotalsModel 的实例。 ( var model = new OrderTotalsModel(); ) 但是,在这种情况下,它现在引用该模型,因此我无法从另一个模型中检索值:/

标签: c# asp.net asp.net-mvc razor nopcommerce


【解决方案1】:

如果您需要在 2 个模型中使用相同的值,则需要从同一位置检索它。

如果您在控制器中设置 OrderTotal 的值,请以与 ShoppingCartModel 相同的方式设置它,例如通过从数据库中检索或计算它。

如果在视图中设置或更新了值,则需要将该值回发到操作中,您可以将其保存以供以后使用,或立即使用它来显示另一个视图,例如您的购物车。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2016-02-04
    相关资源
    最近更新 更多