2011-05-31 35 views
1

所以,我有我的视野有线到我base模型类,像这样:视图模型接线,困难

<%= Html.TextBox("FixedRateOverride", Model.FixedRateOverride.HasValue ? Model.FixedRateOverride.Value.ToString(Chatham.Web.Data.Constants.Format.FiveDecimalPlacesFormatString) : "", new { @class = "economicTextBox", propertyName = "FixedRateOverride", onchange = "UpdateField(this);" })%> 

我们想要做的是,现在消除所有存储这些override类型字段在型号base上,并将它们直接连接到从此型号base(有3种类型)继承的class上的实际字段。

视图不能从任何一个视图继承,因为进入视图,它可能是3中的任何一个,所以它必须继承base类。

如何将这些字段连接到特定类型的model的字段,当视图仅从base继承时?

+0

这对我来说看起来很棒。这可能不完全是犹太教,但那又如何?这是铸造的目的,解决这样的问题。这对原始代码来说肯定是一个巨大的改进。 – 2011-05-31 14:50:09

+0

注意:建议您将以下所有文本**编辑为**,并将其作为答案发布,而不是将其放入问题中。 – 2011-05-31 14:51:42

+0

是的,这是我在想什么。如果你不能像这样简单的转换来解决这类问题,那么把所有的东西都这么干净地架构起来就意味着什么。 – slandau 2011-05-31 14:52:07

回答

0

我找到了一种方法来做到这一点,但我怀疑它是最有效的或推荐的方式,尽管它可能是。我改变调用在嵌入式控制Model只是铸造它作为子模型,像这样:

((SubModel)Model) 

似乎工作,但就像我说的,看起来奇怪,有可能是一个更好的办法这样做,但这是我现在的工作。