【问题标题】:Casting model within Spark View在 Spark View 中铸造模型
【发布时间】:2015-02-10 11:41:30
【问题描述】:

我有两个对象可以是模型。我有一个 ctrl1 基类,继承了一个 ctrl2 类。在我的 Spark 视图中,我在 div 上有一个“每个”来呈现列表中的控件(这些控件可以是 ctrl1 或 ctrl2)。如果我在每个中引用基类属性,它会按预期呈现。但是,如果我尝试引用派生类型属性,则会引发错误,提示 ctrl1 不包含我尝试访问的属性的定义。我尝试过这样的投射:

{(ctrl2)control.PropertyOnDerivedOnly}"

其中“控制”是每个循环中的当前项目。有什么方法可以使用 Spark 语法转换为我期望的对象?

值得一提的是,虽然它们可以是 each 中的任一类型,但我正在对这个特定元素执行“if”,所以我知道此时它们只会是 ctrl2。因此演员表应该是有效的。

【问题讨论】:

    标签: c# spark-view-engine


    【解决方案1】:

    从技术上讲,您可以设置一个临时变量:

    <var control2="control as ctrl2" />
    <p>${control2.PropertyOnDerivedOnly}</p>
    

    但是,我建议您创建一个专门为该视图提供服务的视图模型,并从您的控制器中填充该视图模型,然后进行转换。

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多