为什么在MVC ViewModel中的回发中没有保存IEnumerable属性?

时间:2017-12-10 23:13:45

标签: asp.net-mvc post ienumerable

在我的ViewModel中,我传递了一个IEnumerable属性,该属性加载了网页上下拉框的值列表:

// Drop-down list values...
public IEnumerable< PAYMENT_METHODS > PaymentMethods { get; set; }

我在MVC视图中使用它们如下:

@Html.DropDownListFor(x => Model.objConsultant.Profile.CDE_PAYMENT_METHOD, new SelectList(Model.PaymentMethods, "CDE_PAYMENT_METHOD", "TXT_PAYMENT_METHOD_DESCRIPTION"), htmlAttributes: new { id = "ddlbPaymentMethod" })

我在网页上有几个按钮,可以在用户使用网页时执行回发操作。问题是在回发后,PaymentMethods属性为null,因此在页面加载时抛出异常。 为了解决这个问题,我必须在原始GET索引操作期间将PaymentMethods数据保存在Session变量上,然后在POST Index操作时从Session恢复PaymentMethods属性。 我错过了什么吗?为什么不在后期操作中保存IEnumerable数据?

0 个答案:

没有答案